CSS3技巧36:backdrop-filter 背景滤镜

CSS3 有 filter 滤镜属性,能给内容,尤其是图片,添加各种滤镜效果。

filter 滤镜详见博文:CSS3中强大的filter(滤镜)属性_css3滤镜_stones4zd的博客-CSDN博客

后续,CSS3 又新增了 backdrop-filter 背景滤镜。

backdrop-filter 的属性值跟 filter 完全一样,只是应用效果的标签不同。

  • filter:作用于标签本身。
  • backdrop-filter:作用于被标签遮盖的内容。往往需要结合定位 position 属性实现遮盖效果。

以模糊效果为例。

有如下 HTML 解构:

html 复制代码
<div class="box">
        <div class="small  bf1">
            模糊
        </div>
        <img src="images/myimg.jpg" alt="">
</div>

CSS:让 small 绝对定位,覆盖图片。

css 复制代码
 .box{
            width: 600px;
            height: 399px;
            overflow: hidden;
            margin-left: auto;
            margin-right: auto;
            margin-top: 100px;
            position: relative;
}
.small{
            position: absolute;
            width: 300px;
            height: 200px;
            left:50%;
            top:50%;
            margin-left: -155px;
            margin-top: -105px;
            border:5px #fff solid;
}

添加backdrop-filter的模糊滤镜:

css 复制代码
.bf1{
    backdrop-filter: blur(10px);
}

效果如下。div.small 覆盖的图片部分就被模糊了。

需要说明的是,只要被 div.small 覆盖的内容都会应用滤镜,而不在乎被覆盖的内容有多少。如,覆盖两张图片的效果。

相关推荐
y先森24 分钟前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy24 分钟前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu108301891127 分钟前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿2 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡3 小时前
commitlint校验git提交信息
前端
虾球xz3 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇3 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒3 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员3 小时前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐3 小时前
前端图像处理(一)
前端