powered by olehstudio.pro

Генератор
теней

Настройте box-shadow или text-shadow с живым превью и получите готовый код.

Превью
Слои тени
Готовые варианты
CSS-код
—

Как устроена тень в CSS

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

ПараметрЧто делает
Смещение XСдвигает тень вправо, отрицательное — влево
Смещение YСдвигает вниз, отрицательное — вверх
РазмытиеМягкость краёв, ноль даёт резкую тень
РастяжениеУвеличивает или уменьшает размер тени
ЦветОбычно чёрный с прозрачностью
insetРисует тень внутри элемента

У text-shadow параметров меньше: смещения, размытие и цвет. Растяжения и внутренней тени там нет.

Что отличает хорошую тень

Многослойные тени

Одна тень выглядит плоско, потому что в реальности объект отбрасывает и плотную близкую тень, и рассеянную дальнюю. Наложение двух-трёх слоёв с разным размытием и прозрачностью даёт заметно более естественный результат.

Приём, которым пользуются дизайн-системы: первый слой с малым размытием и заметной прозрачностью очерчивает контур, второй с большим размытием и слабой прозрачностью создаёт объём. Тени перечисляются через запятую, первая рисуется поверх остальных.

Производительность

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

Обходной приём: вместо анимации самого box-shadow меняйте прозрачность псевдоэлемента с уже готовой тенью — браузер обработает это на видеокарте.

Частые вопросы

Чем box-shadow отличается от filter: drop-shadow?
box-shadow рисует тень по прямоугольной границе элемента, игнорируя прозрачные части. drop-shadow повторяет форму содержимого, включая прозрачность PNG и контуры SVG. Для иконок с прозрачным фоном нужен именно drop-shadow.
Сколько теней можно наложить?
Ограничений нет, тени перечисляются через запятую. На практике больше трёх-четырёх слоёв не нужно, а много размытых теней замедляют отрисовку.
Как сделать внутреннюю тень?
Добавьте ключевое слово inset в начало значения. Такая тень рисуется внутри элемента и создаёт эффект углубления — удобно для полей ввода и нажатых кнопок.
Почему тень выглядит грязной?
Скорее всего, используется чистый чёрный без прозрачности. Возьмите чёрный с прозрачностью около десяти-двадцати процентов или тонируйте тень в цвет фона.
Влияет ли тень на размер элемента?
Нет, box-shadow не занимает места в потоке документа и не влияет на положение соседних элементов. Тень может выходить за границы родителя, если у того не установлено overflow: hidden.
Как тень ведёт себя в тёмной теме?
Хуже, чем в светлой: тёмная тень на тёмном фоне почти не видна. В тёмных интерфейсах глубину чаще передают через светлые границы и разную яркость поверхностей.

Похожие инструменты

Все инструменты и сервисы →

Нужен сайт или Telegram-бот?

Разработка под ключ: от задачи до запуска и поддержки

Обсудить проект