Добрый день, дорогие посетители!
В этой статье я хотела бы рассмотреть, как сделать с помощью CSS тень блока.
Когда мы разрабатываем дизайн своего сайта, нам хочется придать ему оригинальный внешний вид. Используя специальное свойство, мы можем задать тень блока CSS практически любому элементу на странице, и это позволят нам добиться определённой объёмности.
Навигация по статье:
Как сделать в CSS тень блока?
Для добавления тени элементу на странице мы можем воспользоваться свойством CSS box-shadow, которое позволяет задать тень блока в любых вариациях.
Вот самый простой способ использования данного свойства:
1 |
box-shadow: 10px 10px; |
Первым значением мы задаем сдвиг тени блока по горизонтали вправо, а вторым – по вертикали вниз. При таком задании значений у тени не будет размытия, а цвет тени блока будет таким же, как цвет текста в данном блоке, то есть, значение цвета будет браться из свойства color.
В этом случае мы получим вот такую тень:
CSS:
1 2 3 4 5 6 7 8 9 10 |
.shadow{ margin:auto; margin-top: 50px; margin-bottom: 50px; padding: 50px; background: url(images/shadow.jpg); text-align:center; color: #000; box-shadow: 10px 10px; } |
Для того, что бы указать смещение тени влево и вверх мы должны задать сдвиг со знаком минус (-).
Расширенное задание параметров box-shadow
В этом свойстве можно так же указать размытие и цвет тени блока. В этом случае наше свойство будет выглядеть вот так:
1 |
box-shadow: 10px 10px 5px #cccссс; |
Значение 5px задает размытие тени, а #cccссс – цвет тени в шестнадцатеричной системе.
Для задания смешения и размытия мы можем указывать величину в пикселях или относительных единицах измерения (em).
Цвет так же можно задавать различными способами. Мы можем задать цвет тени шестнадцатеричным значением, использовать формат RGB или же можно задать полупрозрачную тень с помощью формата RGBA. Например, вот так:
1 |
box-shadow: 10px 10px 5px rgba (120,120,120,0.5); |
Здесь первый три цифры (120,120,120) – это значения цветов красный, зелёный, синий.
Последнее число (0.5) – это уровень прозрачности, который может иметь значения от 0 до 1
Для точного определения шестнадцатеричного значения цвета вы можете воспользоваться одним из инструментов, описанных в этой статье.
И тогда мы получим такой результат:
Как делается внутренняя тень CSS?
Для задания внутренней тени нужно в свойстве box-shadow, перед заданием смешения указать параметр inset.
Запись свойства в этом случае будет выглядеть так:
1 |
box-shadow: inset 0px 0px 5px; |
И получим такой результат:
Как сделать закругленные углы css
Как сделать прозрачность фона в CSS
Наклонный текст CSS на все случаи жизни
Градиент CSS3. Примеры использования
Использование нескольких теней одновременно
Так же вы можете сделать несколько теней для одного блока одновременно. Например, можно поставить тень снизу, по бокам и внутри элемента. В этом случае параметры нужно записать через запятую:
1 2 3 4 |
box-shadow: 10px 0px 5px -5px #555, -10px 0px 5px -5px #555, 0px 10px 5px -10px #555, inset 0px 0px 2px; |
Вот как это выглядит:
Еще один момент! Так как свойство box-shadow относится к разряду свойств CSS3, то оно может не поддерживаться более старыми версиями браузеров, поэтому если вам нужно сделать коссбраузерную верстку с поддержкой теней, то свойство box-shadow нужно задавать для каждого браузера со специальными кроссбраузерными префиксами:
1 2 3 4 |
-webkit-box-shadow: 10px 0px 5px -5px #555, -10px 0px 5px -5px #555,0px 10px 5px -10px #555, inset 0px 0px 2px; -moz-box-shadow: 10px 0px 5px -5px #555, -10px 0px 5px -5px #555,0px 10px 5px -10px #555, inset 0px 0px 2px; -o-box-shadow: 10px 0px 5px -5px #555, -10px 0px 5px -5px #555,0px 10px 5px -10px #555, inset 0px 0px 2px; -ms-box-shadow: 10px 0px 5px -5px #555, -10px 0px 5px -5px #555,0px 10px 5px -10px #555, inset 0px 0px 2px; |
-webkit – для вебкит браузеров (Яндекс-браузер, GoogleChrome, новая версия Opera и т.д.)
-moz – для Mozilla Firefox
-о – для старых версий Opera
-ms — для Internet Explorer 8
Как видите, сделать с помощью CSS тень для блока не так уж и сложно. Главное понять какой параметр за что отвечает, и, подключив фантазию, вы сможете сделать очень интересное оформление для своего сайта. На мой взгляд, сайты с грамотно расставленными тенями для элементов выглядят очень красиво.
Так же, при помощи box-shadow можно сделать реалистичную тень блока CSS разной сложности, но для этого нужно использовать дополнительные приемы. Поэтому, созданием таких теней мы займемся в следующий раз.
Надеюсь, у меня получилось разобрать данную тему достаточно подробно, и у вас не возникнет сложностей при добавлении теней. Если статья вам понравилась, не забывайте поделиться ею в социальных сетях и подпишитесь на рассылку, а так же на мой канал на YouTube. До встречи в следующей статье!
С уважением Юлия Гусарь
Спасибо Вам за статью! Очень полезно и интересно!
А как использовать тень, например, на ПНГ картинке с прозрачностью?
Для png-картинок, к сожалению тень нужно добавлять в PhotoShop