В сентябре 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.