Berikut adalah solusi yang berfungsi dengan latar belakang tetap, jika Anda memiliki latar belakang tetap dan Anda memiliki beberapa elemen overlay dan Anda memerlukan latar belakang buram untuk mereka, solusi ini berfungsi:
Gambar kami memiliki HTML sederhana ini:
<body> <!-- or any wrapper -->
<div class="content">Some Texts</div>
</body>
Latar belakang tetap untuk <body>
atau elemen pembungkus:
body {
background-image: url(http://placeimg.com/640/360/any);
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
}
Dan di sini misalnya kami memiliki elemen overlay dengan latar belakang transparan putih:
.content {
background-color: rgba(255, 255, 255, 0.3);
position: relative;
}
Sekarang kita perlu menggunakan gambar latar belakang yang sama persis dengan pembungkus kita untuk elemen overlay kita juga, saya menggunakannya sebagai :before
psuedo-class:
.content:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
filter: blur(5px);
background-image: url(http://placeimg.com/640/360/any);
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
}
Karena latar belakang tetap bekerja dengan cara yang sama pada elemen pembungkus dan lapisan, kami memiliki latar belakang dalam posisi gulir yang persis sama dari elemen yang dihamparkan dan kami dapat memburamkannya. Ini biola yang berfungsi, diuji di Firefox, Chrome, Opera dan Edge: https://jsfiddle.net/0vL2rc4d/
CATATAN: Di firefox ada bug yang membuat layar berkedip saat menggulir dan ada latar belakang buram yang diperbaiki. jika ada perbaikan, beri tahu saya
CSS filter
tidak didukung di Firefox, Anda tidak boleh menggunakannya.