2013-05-27 4 views
2

Я задал вопрос до одного дня. И кто-то дал мне ссылку. Но я не могу написать правильный код. Мне нужен CSS для этого фонового изображения: Как создать этот градиент с помощью CSS3?

В this online generator, я пытался, но я не могу генерировать почти левый чистый/твердую часть белого цвета фона:

Может вы, пожалуйста, , помоги мне в этом. HTML коды:

<div id="banner" class="outer"> 
    <div class="inner"></div> 
</div> 

CSS код:

.outer { 
    width: 100%; 
    float: left; 
} 
.inner { 
    width: 978px; 
    margin: 0 auto; 
    text-align: left; 
    position: relative; 
} 
#banner { 
    display: block; 
    float: left; 
    margin: 2px 0 0 0; 
    padding: 12px 0 0 0; 
    height: 290px; 
    background: rgb(208,208,208); /* Old browsers */ 
background: -moz-linear-gradient(left, rgba(208,208,208,1) 0%, rgba(202,202,202,1) 1%, rgba(202,202,202,1) 2%, rgba(223,223,223,1) 9%, rgba(225,225,225,1) 12%, rgba(228,228,228,1) 13%, rgba(228,228,228,1) 53%, rgba(207,207,207,1) 65%, rgba(207,207,207,1) 68%, rgba(198,198,198,1) 100%); /* FF3.6+ */ 
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(208,208,208,1)), color-stop(1%,rgba(202,202,202,1)), color-stop(2%,rgba(202,202,202,1)), color-stop(9%,rgba(223,223,223,1)), color-stop(12%,rgba(225,225,225,1)), color-stop(13%,rgba(228,228,228,1)), color-stop(53%,rgba(228,228,228,1)), color-stop(65%,rgba(207,207,207,1)), color-stop(68%,rgba(207,207,207,1)), color-stop(100%,rgba(198,198,198,1))); /* Chrome,Safari4+ */ 
background: -webkit-linear-gradient(left, rgba(208,208,208,1) 0%,rgba(202,202,202,1) 1%,rgba(202,202,202,1) 2%,rgba(223,223,223,1) 9%,rgba(225,225,225,1) 12%,rgba(228,228,228,1) 13%,rgba(228,228,228,1) 53%,rgba(207,207,207,1) 65%,rgba(207,207,207,1) 68%,rgba(198,198,198,1) 100%); /* Chrome10+,Safari5.1+ */ 
background: -o-linear-gradient(left, rgba(208,208,208,1) 0%,rgba(202,202,202,1) 1%,rgba(202,202,202,1) 2%,rgba(223,223,223,1) 9%,rgba(225,225,225,1) 12%,rgba(228,228,228,1) 13%,rgba(228,228,228,1) 53%,rgba(207,207,207,1) 65%,rgba(207,207,207,1) 68%,rgba(198,198,198,1) 100%); /* Opera 11.10+ */ 
background: -ms-linear-gradient(left, rgba(208,208,208,1) 0%,rgba(202,202,202,1) 1%,rgba(202,202,202,1) 2%,rgba(223,223,223,1) 9%,rgba(225,225,225,1) 12%,rgba(228,228,228,1) 13%,rgba(228,228,228,1) 53%,rgba(207,207,207,1) 65%,rgba(207,207,207,1) 68%,rgba(198,198,198,1) 100%); /* IE10+ */ 
background: linear-gradient(to right, rgba(208,208,208,1) 0%,rgba(202,202,202,1) 1%,rgba(202,202,202,1) 2%,rgba(223,223,223,1) 9%,rgba(225,225,225,1) 12%,rgba(228,228,228,1) 13%,rgba(228,228,228,1) 53%,rgba(207,207,207,1) 65%,rgba(207,207,207,1) 68%,rgba(198,198,198,1) 100%); /* W3C */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d0d0d0', endColorstr='#c6c6c6',GradientType=1); /* IE6-9 */ 
} 
+0

"помощь" и "сделать это для меня" немного отличаются. Зайдите в [ColorZilla Gradient Generator] (http://www.colorzilla.com/gradient-editor/), который доставит вам большую часть пути. Отправьте свой код, попросите о помощи в его настройке, если вам нужно. Не просите нас сделать это за вас. – DACrosby

+1

Какой код вы пробовали? У генератора градиента _you, связанного с_, есть функция «создать из изображения» - вы пробовали это? – adnrw

+1

Да, меня попробует загрузить изображение. Но он не даст правильный код. Это сохраненная ссылка на это: http://www.colorzilla.com/gradient-editor/#d0d0d0+0,cacaca+1,cacaca+2,dfdfdf+9,e1e1e1+12,e4e4e4+13,e4e4e4+98 , dbdbdb + 99, cfcfcf + 99, c6c6c6 + 100, c4c4c4 + 100; Пользовательский Я не могу дать код в разделе комментариев. Вот почему я сохранил ссылку и даю ее здесь – user1896653

ответ

2

Этот генератор не работает, потому что это не один градиент; это два. На дне горизонтальный градиент и вертикальный градиент на вершине. Для этого вы можете использовать несколько фонов. Это то, что я придумал:

background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent 20%, transparent 97%, rgba(0, 0, 0, 0.2)), linear-gradient(to right, #e2e2e2, #fff 40%, #cbcbcb); 

Как вы можете видеть, есть запятая между линейными градиентами, что означает композитный первую вершину второго. Вы также можете увидеть, что я использую rgba и transparent на верхней части, поэтому части отображаются до нижнего градиента.

Take a look.

+0

Спасибо, это идеально для меня. Но, одна проблема заключается в том, что ... Прежде чем это узнать, перейдите по ссылке: http://abidhasan.zxq.net/test/test.html На левой стороне #banner есть изображение, называемое «продуктами», белый.Градиент прекрасно смешивается с правыми сторонами «продуктов», но не может смешиваться с левой стороны «продуктов». Не могли бы вы рассказать мне причину? – user1896653

+0

@ user1896653: Он не смешивается ни с одной стороны для меня. В любом случае причиной является то, что 'products.png' также содержит градиент. Удалите градиент из 'products.png', оставив все, что не покрывается прозрачными полями, чтобы градиент CSS мог проявиться. – icktoofay

+0

может быть, вы говорите об редактировании «products.png», как сделать его прозрачным. Но этого не может быть сделано, потому что в products.png у каждой коробки есть тень. Если я попытаюсь сделать прозрачным без этой тени в фотошопе, все равно это может не быть хорошим решением для меня. Потому что в этом разделе может быть слайд-шоу. Таким образом, появятся разные «продукты». День за днем ​​придет новый «products.png». Таким образом, каждый раз клиент не хочет редактировать каждый «products.png» в фотошопе. – user1896653

2

Это довольно близко к изображению. Он использует радиальный градиент и вставную тень.

http://jsfiddle.net/daCrosby/eZN6Y/

/* Inner Shadow */ 
-webkit-box-shadow: inset 0px 5px 20px 5px rgba(0, 0, 0, .1); 
box-shadow: inset 0px 5px 20px 5px rgba(0, 0, 0, .1); 

/* Gradient */ 
background: #ffffff; 
background: -moz-radial-gradient(40% 20%, ellipse cover, #ffffff 25%, #cccccc 60%); 
background: -webkit-gradient(radial, 40% 20%, 0px, 40% 20%, 100%, color-stop(25%,#ffffff), color-stop(600%,#cccccc)); 
background: -webkit-radial-gradient(40% 20%, ellipse cover, #ffffff 25%,#cccccc 60%); 
background: -o-radial-gradient(40% 20%, ellipse cover, #ffffff 25%,#cccccc 60%); 
background: -ms-radial-gradient(40% 20%, ellipse cover, #ffffff 25%,#cccccc 60%); 
background: radial-gradient(ellipse at 40% 20%, #ffffff 25%,#cccccc 60%); 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#cccccc',GradientType=1); 
+0

Да, он тоже выглядит хорошо. Но вместо этого: http://abidhasan.zxq.net/test/test_1.html, это решение (предоставлено icktoofay): http://abidhasan.zxq.net/test/test.html больше подходит для меня , – user1896653

+0

в основном, это может быть идеально для меня. Но одна проблема заключается в том, что я хочу смешать белую часть с белой частью изображения «продукта» (см. Ссылку, которую я предоставил). Но проблема в том, что я увеличиваю процент для белой части (вы дали 25%), размер эллипса будет больше, что не выглядит хорошо. Можете ли вы, обновите свой код, увеличивая белую часть, чтобы соответствовать белым «продуктам» без увеличения эллипса? – user1896653

+0

Похоже, вы пытаетесь поместить квадратное изображение в круглое пространство. Это не будет работать, если вы не измените размер эллипса. Поскольку @icktoofay сказал в другом ответе, ваш лучший вариант - изменить файл 'products.png' таким образом, чтобы он не включал прозрачный белый квадрат. Тень пакетов прекрасно, просто не внешний квадрат. Для быстрого взлома вы можете просто перенести края 'products.png' (особенно на углы), которые сделают его более плавным. – DACrosby

Смежные вопросы