backdrop-filter用法跟filter差不多,不同的是backdrop-filter只会对元素的背景起作用,不会影响元素本身。
<html lang="en">
<head>
<title>背景模糊效果</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* , *::before, *::after {
margin: 0;
padding: 0;
}
body {
width: 100vw;
height: 100vh;
background: url(../img/bg.jpg) no-repeat fixed;
background-size: cover;
overflow: hidden;
}
.mask {
position: fixed;
right: 0;
top: 0;
width: 100%;
height: 100%;
border-left: 5px solid #666;
background-color: rgba(0,0,0, 0.2);
backdrop-filter: grayscale(1);
transition: 2s;
}
body:hover .mask {
width: 0;
}
</style>
</head>
<body>
<div class="mask"></div>
</body>
</html>