Як зазначено в інших відповідях, цього можна досягти за допомогою:
- Копія розмитого зображення як фону.
- Псевдоелемент, який можна відфільтрувати, потім розташувати за вмістом.
Ви також можете використовувати backdrop-filter
Існує підтримувана властивість, яка називається backdrop-filter
, і вона зараз підтримується в Chrome 76, Edge , Safari та iOS Safari (див. Статистику див. Caniuse.com ).
Від Mozilla devdocs :
Властивість фільтра задника забезпечує такі ефекти, як розмивання чи зміщення кольору області за елементом, які потім можна побачити через цей елемент, регулюючи прозорість / непрозорість елемента.
Дивіться статистику використання caniuse.com .
Ви б використовували його так:
.background-filter::after {
-webkit-backdrop-filter: blur(5px); /* Use for Safari 9+, Edge 17+ (not a mistake) and iOS Safari 9.2+ */
backdrop-filter: blur(5px); /* Supported in Chrome 76 */
content: "";
display: block;
position: absolute;
width: 100%; height: 100%;
}
.background-filter {
position: relative;
}
.background {
background-image: url('https://upload.wikimedia.org/wikipedia/en/6/62/Kermit_the_Frog.jpg');
width: 200px;
height: 200px;
}
<div class="background background-filter"></div>
Оновлення (12.06.2019) : Chromium надсилатиметься з backdrop-filter
увімкненою системою за замовчуванням у версії 76, яка закінчується 30.07.2019 .
Оновлення ( 01.06.2019 ) : Команда Mozzilla Firefox оголосила, що незабаром почне працювати над її впровадженням.
Оновлення (21.05.2019) : нещодавно оголошений backdrop-filter
хром доступний у хромованій канарці, не вмикаючи прапор "Увімкнути функції експериментальної веб-платформи". Це означає backdrop-filter
, що дуже близьке до впровадження на всіх хромованих платформах.