Menu

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

Проектируйте многослойный CSS box-shadow с живым превью и копируйте готовый CSS.

Последнее обновление

Пресеты
Превью
Слои тени
Смещение X0px
Смещение Y8px
Размытие24px
Spread0px
Прозрачность0.18
Цвет
CSS
box-shadow:
    0px 8px 24px 0px rgba(0, 0, 0, 0.18);

Что такое генератор CSS box-shadow?

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

Хитрость в том, что *хорошая* тень редко состоит из одного слоя. Реальные тени мягче и имеют рассеянное окружение - большинство дизайн-систем (Material, iOS, Tailwind) накладывают 2–3 объявления box-shadow с разными смещениями и прозрачностями. Писать это руками неудобно; генератор позволяет настраивать каждый слой визуально и сразу видеть совмещённый результат.

Генератор Coddy поддерживает неограниченное число слоёв, *внешние* и *inset*-тени, цвет и прозрачность для каждого слоя и пресеты под самые частые сценарии: лёгкие карточки, чёткие падающие тени, фирменное свечение, inset-вмятины и неоморфные поверхности. Копируйте CSS и вставляйте прямо в стили - без загрузки на сервер, без учётной записи, без водяных знаков.

Что важно знать про box-shadow

  • Синтаксис: box-shadow: [inset] <x> <y> <blur> <spread> <color>. inset помещает тень *внутрь* элемента; без него она падает наружу.
  • *Blur* размывает край - большие значения дают более рассеянную тень. *Spread* увеличивает или уменьшает тень до размытия (отрицательные значения сжимают, удобно для мягких внутренних подъёмов).
  • Несколько теней разделяются запятой и накладываются от задней к передней в записанном порядке - первая объявленная окажется *под* следующими.

Как собрать box-shadow

  1. Начните с пресета

    Выберите пресет, близкий по настроению: лёгкая карточка, мягкий подъём, чёткая тень, фирменное свечение, inset-вмятина или неоморфизм. Это хорошие стартовые точки для подгонки.

  2. Настройте активный слой

    Двигайте слайдеры X/Y, blur, spread, цвета и прозрачности. Превью слева обновляется мгновенно. Меньшая прозрачность и больший blur читаются как более *мягкая* тень.

  3. Добавьте ещё слои

    Кнопка *Добавить слой* стэкает вторую тень. Реальная глубина почти всегда строится на двух слоях: одна короткая и плотная (контактная) и одна длинная и мягкая (окружающая).

  4. Включите inset для внутренних углублений

    Переключение *Inset* отрисует тень внутри элемента. В сочетании с лёгкой внешней тенью это даёт эффект нажатой кнопки.

  5. Скопируйте CSS

    Когда превью совпадает с дизайном, нажмите *Скопировать CSS*. Сгенерированное правило включает все активные слои - вставляйте прямо в таблицу стилей.

Шпаргалка по box-shadow

Каждое значение в box-shadow: x y blur spread color и его роль.

ЗначениеЭффектТипичный диапазон
X offsetСдвиг тени по горизонтали; положительный = вправо−40…40px
Y offsetСдвиг тени по вертикали; положительный = вниз0…40px для естественного света
BlurРазмывает край тени0…80px
SpreadУвеличивает или уменьшает до blur−30…30px
ColorЛюбой цвет CSS; rgba() задаёт прозрачность послойноrgba(0,0,0,0.05–0.3) для естественных теней
insetТень рисуется внутри элемента-
Несколько слоёвЧерез запятую; накладываются сзади вперёд2–3 слоя дают реалистичную глубину

Примеры box-shadow для пробы

Лёгкая карточка с контактной и окружающей тенью

Двухслойная лёгкая карточка
box-shadow:    0 1px 2px rgba(0, 0, 0, 0.06),    0 4px 12px rgba(0, 0, 0, 0.08);

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

Фирменное свечение

Мягкое цветное свечение
box-shadow: 0 0 24px 4px rgba(108, 140, 255, 0.45);

X и Y по нулям, чтобы свечение распределялось равномерно. Небольшой положительный spread утолщает свечение до того, как blur его смягчит. Используйте дозированно - цветные glow сильно отвлекают внимание.

Нажатый inset-эффект

Inset-тень для эффекта нажатия
box-shadow:    inset 0 2px 6px rgba(0, 0, 0, 0.18),    inset 0 0 0 1px rgba(0, 0, 0, 0.06);

Inset-тень рисуется внутри. Мягкая создаёт ощущение углубления; inset в 1px добавляет тонкую внутреннюю обводку для чёткости.

Частые ошибки с box-shadow

  • Чистый чёрный с высокой прозрачностью. Это читается как жёсткий вырез, не как тень. Снижайте до 0.06–0.18 для естественной приподнятости.
  • Забывать про Y offset. Тень с X=0 и Y=0 ложится равномерно *за* элементом - ок для glow, неверно для карточки, которая должна парить.
  • Стэкать слишком много слоёв. Обычно трёх достаточно; десять дают грязное размытие и заметную нагрузку на отрисовку.

Часто задаваемые вопросы про CSS box-shadow

Что означает каждое значение в box-shadow?
box-shadow: x y blur spread color. Первые два - смещения; *blur* размывает край; *spread* меняет размер до размытия; цвет - любой CSS-цвет (используйте rgba() для прозрачности). inset в начале делает тень внутренней.
Как сложить несколько теней в одном правиле?
Разделяйте их запятой. Они отрисовываются сзади вперёд в записанном порядке - первая окажется снизу. Так комбинируют плотную контактную тень с мягкой окружающей.
В чём разница между box-shadow и filter: drop-shadow()?
box-shadow идёт по прямоугольнику элемента и быстро рисуется. drop-shadow() следует за альфа-каналом (хорошо для SVG и прозрачных PNG) и стоит дороже. Для карточек и кнопок - box-shadow; для нерегулярных форм - drop-shadow().
Почему тень выглядит пиксельной?
Либо очень маленький blur (blur 0 - это резкая тень по задумке), либо элемент масштабируется. Увеличьте blur или поищите transform: scale() где-нибудь выше по дереву.
Влияет ли box-shadow на макет?
Нет. Тень рисуется за пределами бокса, но не толкает соседние элементы. Если родителю нужно оставить место для тени, дайте ему padding или overflow: visible.

Узнать больше

Другие инструменты разработчика

Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ