В сентябре 2024 в Baseline в статусе Widely-available вошло CSS-свойство backdrop-filter. Оно делает красивое: позволяет применить фильтры (размытие, контраст, яркость, и прочее) к фону за элементом. Не к самому элементу, а именно к тому, что за ним — это важно.

То есть если у вас есть модальное с полупрозрачным фоном, вы можете сделать так, чтобы то, что под ней, красиво размывалось, как в macOS или на айфоне. Это и есть главное применение backdrop-filter.

Пример минимального кода:

<div class="glass-panel">Контент</div>

.glass-panel {
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.3);
}

Чтобы это работало, у элемента должен быть фон с прозрачностью (например, rgba или hsla), иначе фильтр не виден. И да, backdrop-filter визуально различим только если элемент реально перекрывает что-то.

Применение в жизни

Вот что можно сделать с backdrop-filter:

  • Эффект размытых карточек (glassmorphism)
  • Стильные модалки и сайдбары
  • Имитация macOS и iOS
  • Эффект как в Windows 11 (Acrylic/Fluent Design)
  • Размытые менюшки и тултипы

Дальше — практические примеры. Во всех примерах будет использоваться одинаковая плашка с контентом. Чтобы плашку было видно, можете использовать вот такую подложку:

body {
  margin: 0;
  padding: 2rem;
  min-height: 100vh;
  background: 
    linear-gradient(135deg, #cfd9df 0%, #e2ebf0 100%),
    url('https://www.transparenttextures.com/patterns/cubes.png'); /* лёгкий паттерн */
  background-size: cover;
  font-family: sans-serif;
}

Стекло по-купертиновски (iOS/macOS)

<div class="ios-glass">Контент</div>
.ios-glass {
  padding: 1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

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

Fluent Design (Windows 10/11)

В этом случае создаем Acrylic-эффект с более тёмной базой и насыщенностью. Работает отлично с тёмной темой.

<div class="fluent-panel">Меню</div>
.fluent-panel {
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(15px) saturate(150%);
  -webkit-backdrop-filter: blur(15px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

Glassmorphism

<div class="glassmorph">Привет, мир</div>
.glassmorph {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem;
  color: white;
}

Это популярный стиль с беханса и дрибббла: размытие, насыщенность, полупрозрачный белый фон, обводка — всё, как дизайнеры любят.

Material Design (но из будущего)

Google Material не использует backdrop-filter напрямую, но можно адаптировать:

<div class="material-surface">Материальненько</div>
.material-surface {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 1rem;
}

Это не канон, но выглядит в духе — особенно на фоне карточек с текстом.

backdrop-filter — это просто, красиво и модно. Используется для стилизации интерфейсов под «стеклянные» тренды, помогает добавить глубины и аккуратного размытия. Работает везде, где надо, и легко фолбэчится. Станет особенно полезен, если вы делаете интерфейс в стиле iOS, macOS или Windows 11.