Как сделать тень div css

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 css. Смотреть фото Как сделать тень div css. Смотреть картинку Как сделать тень div css. Картинка про Как сделать тень div css. Фото Как сделать тень div css

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

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

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

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

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

Как сделать тень div css. Смотреть фото Как сделать тень div css. Смотреть картинку Как сделать тень div css. Картинка про Как сделать тень div css. Фото Как сделать тень div cssРис. 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 css. Смотреть фото Как сделать тень div css. Смотреть картинку Как сделать тень div css. Картинка про Как сделать тень div css. Фото Как сделать тень div css

Синтаксис

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

box-shadow

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

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

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

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

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

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

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

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

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

text-shadow

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

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

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

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

Inset в box-shadow

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Inset в text-shadow

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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