backdrop-filter属性允许我们对元素后面的内容进行过滤,完整代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
.image {
position: relative;
width: 40%;
}
.image__img {
display: block;
width: 100%;
height: 100%;
background-size: cover;
}
.image__overlay {
position: absolute;
top: 10%;
left: 10%;
width: 80%;
height: 80%;
border-radius: 10px;
color: #ffffff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.image__overlay--blur {
backdrop-filter: blur(10px);
}
</style>
</head>
<body>
<div class="image">
<img class="image__img" src="./img/lemon.jpg" alt="lemon">
<div class="image__overlay image__overlay--blur">
<div>Lemon</div>
</div>
</div>
</body>
</html>
滤镜 | 释义 |
blur | 模糊 |
brightness | 亮度 |
contrast | 对比度 |
drop-shadow | 投影 |
grayscale | 灰度 |
hue-rotate | 色调变化 |
invert | 反相 |
opacity | 透明度 |
saturate | 饱和度 |
sepia | 褐色 |
补充:添加鼠标悬停显示毛玻璃,通过transition过渡实现,修改 image__overlay类样式并添加image__overlay:hover样式,代码如下:
.image__overlay {
position: absolute;
top: 10%;
left: 10%;
width: 80%;
height: 80%;
border-radius: 10px;
color: #ffffff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
transition: opacity 0.5s;
opacity: 0;
}
.image__overlay:hover {
opacity: 1;
}