Плоские блоки одного цвета выглядят скучно. Глубину, объём и «дороговизну» интерфейсу придают эффекты: мягкие тени приподнимают карточки над фоном, градиенты делают заливку живой, фильтры приглушают или подсвечивают картинки, а модное «стеклянное» размытие фона выглядит современно и стильно. Все эти эффекты — чистый CSS, без единой картинки-заготовки. Освоив их, вы сможете превращать простой макет в привлекательный и глубокий, не прибегая к графическому редактору.
После этого урока вы сможете добавлять тени и градиенты, обрабатывать изображения фильтрами и создавать эффект матового стекла — инструменты, которые сразу поднимают визуальный уровень сайта.
Что уже умеем / что добавим
Вы умеете оформлять элементы, анимировать их, хранить значения в переменных и вычислять размеры. Теперь добавим визуальные эффекты, которые создают глубину и стиль. В сквозном проекте мы сделаем эффектный градиентный главный экран сайта компании и «стеклянную» шапку, которая мягко размывает контент под собой.
Что вы узнаете в рамках статьи
- Как создавать мягкие тени свойством
box-shadow. - Как заливать фон градиентом через
linear-gradient. - Как обрабатывать элементы фильтрами
filter. - Как делать эффект матового стекла через
backdrop-filter.
Ключевые термины
box-shadow— тень элемента (смещение, размытие, цвет).linear-gradient()— линейный градиент как значение фона.filter— графические фильтры для самого элемента (blur,brightnessи др.).backdrop-filter— фильтр, применяемый к фону позади элемента (эффект стекла).- Прозрачность (
rgba) — цвет с заданной непрозрачностью, нужен для мягких теней и стекла.
Мягкие тени: box-shadow
box-shadow добавляет элементу тень. В значении указывают горизонтальное и вертикальное смещение, радиус размытия и цвет. Мягкая, чуть заметная тень создаёт ощущение, что элемент приподнят над страницей:
.card {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
Здесь тень не смещена по горизонтали (0), опущена на 4 пикселя вниз, размыта на 12 пикселей и полупрозрачна (rgba с непрозрачностью 0.12). Результат — деликатная тень снизу, будто карточка чуть парит. Секрет красивых теней — в мягкости и полупрозрачности: большой радиус размытия и низкая непрозрачность выглядят естественно, тогда как резкая тёмная тень кажется грубой. Можно задать несколько теней через запятую для более глубокого эффекта.
Градиенты: linear-gradient
Градиент — это плавный переход между цветами, и в CSS он задаётся как значение фона через функцию linear-gradient(). Указывают направление и цвета:
.hero {
background: linear-gradient(135deg, #2d6cdf, #1e4fa3);
}
Фон плавно перетекает от одного синего к другому по диагонали (135deg — направление под углом). Градиент делает заливку живой и объёмной по сравнению с плоским цветом. Направление можно задавать углом (135deg) или словами (to right, to bottom). Цветов может быть больше двух: linear-gradient(to right, #f00, #ff0, #0f0) даст переход через несколько оттенков. Есть и радиальные градиенты (radial-gradient), расходящиеся из точки, но линейный — самый частый.
Фильтры: filter
Свойство filter применяет к элементу графические эффекты, знакомые по фоторедакторам: размытие, изменение яркости, контраста, перевод в оттенки серого. Часто их используют для изображений:
.photo {
filter: grayscale(100%);
transition: filter 0.3s;
}
.photo:hover {
filter: grayscale(0);
}
По умолчанию фото будет чёрно-белым (grayscale(100%)), а при наведении плавно станет цветным — эффектный приём для галерей. Другие полезные фильтры: blur(4px) размывает, brightness(1.2) делает ярче, contrast(1.1) повышает контраст. Фильтры можно комбинировать через пробел: filter: brightness(1.1) contrast(1.05). Важно: filter применяется к самому элементу и всему его содержимому — этим он отличается от следующего эффекта.
Матовое стекло: backdrop-filter
backdrop-filter — эффектная новинка: он применяет фильтр не к самому элементу, а к тому, что находится позади него. Самое популярное применение — «матовое стекло»: полупрозрачная панель, размывающая контент под собой:
.header {
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(10px);
}
Шапка станет полупрозрачной, а всё, что прокручивается под ней, будет мягко размыто — получится модный эффект матового стекла, как в современных операционных системах. Два условия обязательны: фон должен быть полупрозрачным (rgba с непрозрачностью меньше 1), иначе размытие под панелью просто не будет видно, и нужен сам backdrop-filter: blur(). Этот эффект особенно хорош для «прилипающих» шапок и модальных окон — контент под ними читается как сквозь запотевшее стекло.
Применяем в проекте
Придадим сайту компании глубину и стиль: сделаем главный экран с диагональным градиентом, добавим карточкам мягкие тени, а «прилипающую» шапку превратим в матовое стекло. Всё — чистым CSS.
.hero {
background: linear-gradient(135deg, var(--accent), var(--accent-dark));
color: #fff;
}
.card {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.header {
position: sticky;
top: 0;
background: rgba(255, 255, 255, 0.65);
backdrop-filter: blur(10px);
}
Обновите страницу: главный экран залит красивым диагональным градиентом фирменных цветов, карточки мягко приподняты тенями, а шапка при прокрутке превращается в полупрозрачное матовое стекло, сквозь которое размыто просвечивает контент. Мы добавили глубину и современный вид, не использовав ни одной картинки — только свойства CSS. Сайт сразу стал выглядеть дороже и профессиональнее.
Частые ошибки
- Резкие тёмные тени.
Тень без размытия и с высокой непрозрачностью выглядит грубо; используйте большой радиус иrgbaс низкой непрозрачностью. backdrop-filterбез прозрачного фона.
Если фон панели непрозрачный, эффект стекла не виден; задавайте полупрозрачныйrgba.- Путаница
filterиbackdrop-filter.
filterразмывает сам элемент,backdrop-filter— фон за ним; для стекла нужен второй. - Слишком сильные эффекты.
Огромное размытие или кричащий градиент утомляют; эффекты хороши в меру.
Итоги
Прекрасная работа — вы освоили современные визуальные эффекты! Теперь вы умеете создавать мягкие тени через box-shadow, заливать фон градиентами с linear-gradient, обрабатывать элементы фильтрами filter и делать модное матовое стекло через backdrop-filter. В сквозном проекте сайт компании получил градиентный главный экран, приподнятые тенями карточки и стеклянную шапку — всё чистым CSS, без единой картинки.
Замечательный прогресс — ваш сайт выглядит глубоким и стильным! В следующем, заключительном уроке курса мы соберём всё воедино и сделаем полноценную тёмную тему: научимся определять предпочтения пользователя через prefers-color-scheme и переключать оформление с помощью уже знакомых переменных.