Как сделать тень элементу css

Как сделать тень элементу css

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

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

Рис. 1. Значения свойства box-shadow

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

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

Пример 1. Тень на фоновом рисунке

HTML5 CSS3 IE 9+ Cr Op Sa Fx

Результат данного примера показан на рис. 2. Тень повторяет скругление уголков блока.

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

Рис. 2. Вид тени на фоновом рисунке

При добавлении «широкой» тени следует учесть, что она может выйти за пределы видимого окна браузера и привести таким образом к появлению горизонтальной полосы прокрутки.

Тень также можно добавлять и к псевдоэлементам, это иногда требуется для сложной вёрстки. На рис. 3 показан блок с заголовком, к которому добавлена тень. Чтобы не было никаких линий в месте стыка приходится использовать псевдоэлемент ::after и добавлять тень к нему.

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

Рис. 3. Блок с тенью

В примере 2 показано создание такого блока.

Пример 2. Блок с тенью

HTML5 CSS3 IE 9+ Cr Op Sa Fx

Пример 2. Блок с тенью

HTML5 CSS3 IE 9+ Cr Op Sa Fx

Результат данного примера показан на рис. 4.

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

Рис. 4. Изображение с двойной тенью

Первая тень отображается слева от рисунка с радиусом размытия 20px, её размер уменьшен за счёт четвёртого параметра (-20px). Параметры второй тени указываются после запятой, тень отображается справа от рисунка и так же уменьшена для симметрии.

Источник

Изучаем CSS: тень блока

Как сделать тень в CSS – коротко о главном

Как сделать тень в CSS — два варианта реализации

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

Vertical offset и horizontal offset — это вертикальное и горизонтальное смещение. С помощью этих параметров мы задаем направление, в котором объект будет отбрасывать тень:

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

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

Свойство text-shadow поддерживают все популярные браузеры ( Google Chrome, Firefox, Opera, Safari ). Text-shadow имеет четыре параметра:

По синтаксису text-shadow во многом напоминает box-shadow:

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

При этом spread-shadow отсутствует. Вот так это может выглядеть на примере:

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

Базовая тень в CSS

Создадим css файл и укажем в нем следующее:

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

Размытая тень

CSS будет вот такой:

Получаем вот такую тень, которая хорошо будет смотреться под слайдерами:

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

Двойная тень текста CSS

Синтаксис

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

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

Тень по бокам блока в CSS

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

Внутренняя тень CSS

Чтобы « развернуть » тень объекта внутрь, достаточно добавить в CSS inset :

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

Внутренняя тень блока в CSS — inset в box-shadow

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

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

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

Альфа-значение будет отвечать за прозрачность тени:

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

Внутренняя тень текста CSS: inset в text-shadow

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

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

Сначала можно применить к h1 светлую тень и темный фон:

Источник

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

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

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

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

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

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

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

Как сделать тень элементу css. Смотреть фото Как сделать тень элементу css. Смотреть картинку Как сделать тень элементу css. Картинка про Как сделать тень элементу css. Фото Как сделать тень элементу 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. Но как быть, если необходимо сделать внутренние тени? В этой статье описывается, как сделать такие тени с помощью всего нескольких строчек кода.

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

Синтаксис

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

box-shadow

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

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

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

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

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

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

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

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

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

text-shadow

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

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

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

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

Inset в box-shadow

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Inset в text-shadow

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

Источник

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

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