DevSkillRoad

Фильтры и эффекты

🎨 backdrop-filter, mix-blend-mode, clip-path

В дополнение к уже изученным фильтрам (blur, brightness, grayscale и др.) есть ещё несколько полезных эффектов.

1. backdrop-filter — фильтр для фона за элементом

Применяет фильтр к фону, который находится позади элемента. Создаёт эффект «стекла» или «размытия заднего фона».

Возможные значения:

.glass {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.3);
}
Этот блок с размытым фоном за собой

✅ Текст на размытом фоне (эффект стекла)

2. mix-blend-mode — режимы наложения

Определяет, как цвет элемента смешивается с цветом фона.

Возможные значения:

Сравнение на примере (три буквы A на градиентном фоне):

AAA
normal
(обычный)
AAA
multiply
буквы темнеют на чёрном
AAA
screen
буквы светлеют на белом
AAA
overlay
усиление контраста
AAA
difference
инверсия цвета
📌 Что здесь происходит:
  • Фон — градиент от чёрного (левый верхний угол) к белому (правый нижний угол)
  • Три буквы A везде одинаковые — бирюзовые (#14b8a6)
  • normal — буквы не смешиваются с фоном, видимы как есть
  • multiply — на чёрном фоне буквы почти исчезают, на белом остаются видимыми
  • screen — наоборот: на белом фоне буквы светлеют, на чёрном видны хорошо
  • overlay — усиливает контраст, буквы становятся ярче
  • difference — инвертирует цвет букв в зависимости от фона
📌 Что здесь происходит:
  • Фон — градиент от чёрного (слева) к белому (справа)
  • Буква везде одна и та же — бирюзовая (#14b8a6)
  • normal — буква не смешивается с фоном, видна как есть
  • multiply — на чёрном фоне буква почти исчезает, на белом остаётся видимой
  • screen — наоборот: на белом буква светлеет, на чёрном видна хорошо
  • overlay — усиливает контраст, буква становится ярче
  • difference — инвертирует цвет буквы в зависимости от фона

3. clip-path — обрезка элемента

Обрезает элемент по заданной форме. Кнопка остаётся кликабельной только в области видимой части.

Возможные значения:

.circle-btn {
    clip-path: circle(50%);
}
.triangle-btn {
    clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}

✅ Кнопки обрезаны по разным формам. Курсор меняется только при наведении на видимую часть.

📌 Важно: При использовании clip-path тени (box-shadow) и границы могут обрезаться. Если нужна тень, применяйте filter: drop-shadow().
📓 Из тетради: «Эти эффекты делают дизайн уникальным, но не переусердствуйте: backdrop-filter может замедлять страницу, clip-path обрезает тени и границы, а mix-blend-mode не всегда предсказуем. Используйте их для акцентов, а не для всей страницы».