Как сделать тень блока div

CSS box-shadow генератор

Box shadow CSS свойство

box-shadow — это CSS3 свойство, которое позволяет создавать эффект тени для, практически, любого элемента веб страницы. Оно похоже на эффект Drop Shadows в Photoshop, с помощью этого свойства создается иллюзия глубины на 2-мерных страницах.

Синтаксис

Свойство принимает составное значение из пяти разных частей: горизонтальное смещение, вертикальное смещение, размытие, растяжение, цвет тени. К тому же можно указать будет ли тень внешней или внутренней.

В отличие от других свойств, каких как border, которые разбиты на подсвойства (border-width, border-style и тд), box shadow CSS стоит особняком. Соответственно, важен порядок, в котором вы записываете значения свойства.

Горизонтальное смещение (по оси X)

Вертикальное смещение (по оси Y)

Размытие

Третье значение (blur) представляет собой радиус размытия тени, посмотрите как он работает на box shadow генераторе выше. Значение 0 означает, что тень будет совсем не размыта, края и стороны будут абсолютно четкие. Чем выше значение, тем более мутную и размытую тень вы получите. Отрицательные значения не допускаются.

Растяжение

Четвертое значение (spread) представляет собой размер тени или дистанции от тени до элемента. При положительном значении тень увеличится, выйдет за пределы элемента. Отрицательное значение уменьшит и сожмет тень.

Цвет тени может быть абсолютно любым и записан в разных форматах, доступных в CSS (HEX, RGB, RGBA и пр), попробуйте разные оттенки в css box shadow generator.

Внешняя/внутренняя

Значение inset определяет положение тени. По умолчанию оно не указано, это означает, что тень будет снаружи элемента. Для того, чтобы тень была внутри элемента, необходимо в конце добавить ключевое слово inset.

Несколько теней

В CSS тень блока может быть не одна. Чтобы добавить несколько теней, достаточно написать их в одном свойстве через запятую.

Круглая тень

Тень может быть круглой, для этого достаточно добавить свойство border-radius

Эффект увеличения с тенью

Используя свойства box-shadow и transform, можно создать иллюзию приближения и отдаления элемента от пользователя.

Эффект парения элемента с помощью box-shadow

Мы можем добавить тень к псевдоэлементу :after и создать тень ниже элемента. Тем самым создавая иллюзию, что элемент был поднят вверх, а потом упал.

Тень и свойство clip-path

Профессиональная разработка сайтов под заказ

Прекрасный способ визуально выразить главную мысль

Источник

2.19. CSS3-тень блока

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Свойство box-shadow добавляет элементу одну или более теней. Тень представляет собой копию элемента, смещенную на указанное расстояние. Тени бывают внешние или внутренние, размытые или плоские, они могут следовать контурам блоков со скругленными углами. С помощью ключевого слова inset создаются тени внутри элемента, делая элемент визуально объёмным или вдавленным.

Как сделать тень блока с помощью свойства box-shadow

Поддержка браузерами

1. Синтаксис свойства box-shadow

Свойство не наследуется.

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока divРис. 1. Синтаксис свойства box-shadow

box-shadow
Значения:
x-offsetЗадает горизонтальное смещение тени. Положительное значение рисует тень, смещенную вправо от текста, отрицательная длина — влево.
y-offsetЗадает вертикальное смещение тени. Положительное значение смещает тень вниз, отрицательное — вверх.
blurЗадает радиус размытия. Отрицательные значения не допускаются. Если значение размытия равно нулю, то край тени четкий. В противном случае, чем больше значение, тем больше размыт край тени.
растяжениеЗадает расстояние, на которое тень увеличивается. Положительные значения заставляют тень расширяться во всех направлениях на указанный радиус. Отрицательные значения заставляют тень сжиматься. Для внутренних теней расширение тени означает сжатие формы периметра тени.
цветЗадает цвет тени. Если цвет отсутствует, используемый цвет берется из свойства color. Для Safari цвет тени указывать обязательно.
insetИзменяет отбрасываемую тень блока с внешней тени на внутреннюю.
noneЗначение по умолчанию, означает отсутствие тени.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Если элемент имеет несколько ящиков, все они получают тени, но тени рисуются только там, где также будут нарисованы границы; см. box-decoration-break.

Тени не вызывают прокрутку или не увеличивают размер прокручиваемой области.

Источник

Внутренние тени в CSS

Обычные тени легко реализовать с помощью box-shadow или text-shadow. Но как быть, если необходимо сделать внутренние тени? В этой статье описывается, как сделать такие тени с помощью всего нескольких строчек кода.

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Синтаксис

Прежде всего рассмотрим два основных способа реализации теней в CSS.

box-shadow

Конструкция box-shadow содержит несколько различных значений:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Horizontal offset и vertical offset — горизонтальное и вертикальное смещение соответственно. Эти значения указывают, в какую сторону объект будет отбрасывать тень:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Blur radius и spread radius немного сложнее. В чем их разница? Взглянем на пример с двумя элементами, где значения blur radius отличаются:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Край тени просто размывается. При различном значении spread radius видим следующее:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

В этом случае видим, что тень рассеивается на большую площадь. Если не указывать значения blur radius и spread radius, то они будут равны 0.

text-shadow

Синтаксис очень похож на box-shadow:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Значения аналогичные, только нет spread-shadow. Пример использования:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Inset в box-shadow

Чтобы «перевернуть» тень внутрь объекта, необходимо добавить inset в CSS:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Разобравшись с основным синтаксисом box-shadow, понять принципы реализации внутренних теней очень легко. Значения все те же, можно добавить цвет (RGB в hex):

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Цвет в формате RGB, альфа-значение отвечает за прозрачность тени:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Изображения с тенями

Добавить внутреннюю тень к изображению немного сложнее, чем к обычному div. Для начала вот обычный код картинки:

Логично предположить, что добавить тень можно так:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Существует несколько способов решить эту проблему, каждый из которых имеет свои плюсы и минусы. Рассмотрим два из них. Первый — это обернуть картинку в обычный div:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Все работает, но приходится добавлять немного лишней разметки HTML и CSS. Второй способ — это установить изображение фоном нужного блока:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Вот, что может получится при использовании внутренних теней:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Inset в text-shadow

Для реализации внутренней тени текста простое добавление в код inset не работает:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Для решения, сначала применим к заголовку h1 установим темный фон и светлую тень:

Вот, что получается:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Добавляем секретный ингредиент background-clip, который обрезает все, что выходит за пределы текста (на темный фон):

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Получилось почти то, что надо. Теперь просто немного затемняем текст (альфа), и итог:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Поддержка браузерами

Проверить поддержку background-clip браузерами можно на caniuse.

Источник

Как сделать красивую тень для блока (элемента) с помощью CSS. (8 примеров)

Здравствуйте, дорогие читатели блога. Сегодня мы с Вами будем делать красивую тень для блоков при помощи CSS. Я думаю, что это очень сильно пригодится Вам, тем более если Вы делаете шаблоны. А блоки с тенью смотрятся очень привлекательно и современно.

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Посмотреть пример

Тень блока с CSS

Данные блоки мы будем делать только при помощи CSS. Соответственно никаких изображений, только стили.

В частности мы будем использовать тег box-shadow. Так же можно будет задать любой цвет для тени, размер, смещение, или же использовать его для других элементов, главное экспериментировать. Но в данном случае это будут блоки.

Поддержка браузеров

В основном все современные браузеры поддерживают эффекты тени:

Ещё хотелось бы упомянуть один не маловажный момент: для некоторых браузеров мы будем использовать некие префиксы. Для Firefox используется -moz-, для Chrome и Safari нужно использовать префикс -webkit.

Ну а сейчас переходим к самой интересной части. Давайте рассмотрим все эффекты тени по отдельности, эффектов будет 8.

Эффект тени 1

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

В данном примере тень от блока находится снизу.

Эффект тени 2

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

В этом примере тень от блока идёт слева и справа, а по середине её нет. Получается очень интересный эффект.

Эффект тени 3

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Здесь тень от блока только слева.

Эффект тени 4

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Эффект тени 5

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

В данном случае тень с двух сторон сильнее сдвинулась вниз.

Эффект тени 6

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Здесь эффект изогнутых теней на дне блока.

Эффект тени 7

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Такой же эффект только тень снизу и сверху блока.

Эффект тени 8

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Эффект изогнутых теней по бокам блока.

Пример

Обязательно посмотрите живой пример

Посмотреть пример

Вот и всё дорогие друзья. Если Вам что либо будет не понятно, обязательно спрашивайте в комментариях. До скорой встречи.

Источник

Делаем тень блока в CSS

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Добрый день, дорогие посетители!

В этой статье я хотела бы рассмотреть, как сделать с помощью CSS тень блока.

Когда мы разрабатываем дизайн своего сайта, нам хочется придать ему оригинальный внешний вид. Используя специальное свойство, мы можем задать тень блока CSS практически любому элементу на странице, и это позволят нам добиться определённой объёмности.

Навигация по статье:

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Как сделать в CSS тень блока?

Для добавления тени элементу на странице мы можем воспользоваться свойством CSS box-shadow, которое позволяет задать тень блока в любых вариациях.

Вот самый простой способ использования данного свойства:

Первым значением мы задаем сдвиг тени блока по горизонтали вправо, а вторым – по вертикали вниз. При таком задании значений у тени не будет размытия, а цвет тени блока будет таким же, как цвет текста в данном блоке, то есть, значение цвета будет браться из свойства color.

В этом случае мы получим вот такую тень:

Для того, что бы указать смещение тени влево и вверх мы должны задать сдвиг со знаком минус (-).

Расширенное задание параметров box-shadow

В этом свойстве можно так же указать размытие и цвет тени блока. В этом случае наше свойство будет выглядеть вот так:

Значение 5px задает размытие тени, а #cccссс – цвет тени в шестнадцатеричной системе.

Для задания смешения и размытия мы можем указывать величину в пикселях или относительных единицах измерения (em).

Цвет так же можно задавать различными способами. Мы можем задать цвет тени шестнадцатеричным значением, использовать формат RGB или же можно задать полупрозрачную тень с помощью формата RGBA. Например, вот так:

Здесь первый три цифры (120,120,120) – это значения цветов красный, зелёный, синий.
Последнее число (0.5) – это уровень прозрачности, который может иметь значения от 0 до 1

Для точного определения шестнадцатеричного значения цвета вы можете воспользоваться одним из инструментов, описанных в этой статье.

И тогда мы получим такой результат:

Как делается внутренняя тень CSS?

Для задания внутренней тени нужно в свойстве box-shadow, перед заданием смешения указать параметр inset.

Запись свойства в этом случае будет выглядеть так:

И получим такой результат:

Использование нескольких теней одновременно

Так же вы можете сделать несколько теней для одного блока одновременно. Например, можно поставить тень снизу, по бокам и внутри элемента. В этом случае параметры нужно записать через запятую:

Вот как это выглядит:

Еще один момент! Так как свойство box-shadow относится к разряду свойств CSS3, то оно может не поддерживаться более старыми версиями браузеров, поэтому если вам нужно сделать коссбраузерную верстку с поддержкой теней, то свойство box-shadow нужно задавать для каждого браузера со специальными кроссбраузерными префиксами:

-webkit – для вебкит браузеров (Яндекс-браузер, GoogleChrome, новая версия Opera и т.д.)
-moz – для Mozilla Firefox
-о – для старых версий Opera
-ms — для Internet Explorer 8

Как видите, сделать с помощью CSS тень для блока не так уж и сложно. Главное понять какой параметр за что отвечает, и, подключив фантазию, вы сможете сделать очень интересное оформление для своего сайта. На мой взгляд, сайты с грамотно расставленными тенями для элементов выглядят очень красиво.

Так же, при помощи box-shadow можно сделать реалистичную тень блока CSS разной сложности, но для этого нужно использовать дополнительные приемы. Поэтому, созданием таких теней мы займемся в следующий раз.

Как сделать тень блока div. Смотреть фото Как сделать тень блока div. Смотреть картинку Как сделать тень блока div. Картинка про Как сделать тень блока div. Фото Как сделать тень блока div

Надеюсь, у меня получилось разобрать данную тему достаточно подробно, и у вас не возникнет сложностей при добавлении теней. Если статья вам понравилась, не забывайте поделиться ею в социальных сетях и подпишитесь на рассылку, а так же на мой канал на YouTube. До встречи в следующей статье!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *