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 覆盖的内容都会应用滤镜,而不在乎被覆盖的内容有多少。如,覆盖两张图片的效果。

相关推荐
nujnewnehc4 小时前
ps, ai, ae插件都可以用html和js开发了
前端·javascript
Jagger_7 小时前
整洁架构三连问:是什么,怎么做,为什么要用
前端
一个处女座的程序猿O(∩_∩)O7 小时前
React 完全入门指南:从基础概念到组件协作
前端·react.js·前端框架
前端摸鱼匠8 小时前
Vue 3 的defineEmits编译器宏:详解<script setup>中defineEmits的使用
前端·javascript·vue.js·前端框架·ecmascript
里欧跑得慢8 小时前
Flutter 测试全攻略:从单元测试到集成测试的完整实践
前端·css·flutter·web
Jagger_8 小时前
前端整洁架构详解
前端
徐小夕8 小时前
我花一天时间Vibe Coding的开源AI工具,一键检测你的电脑能跑哪些AI大模型
前端·javascript·github
英俊潇洒美少年8 小时前
Vue3 企业级封装:useEventListener + 终极版 BaseEcharts 组件
前端·javascript·vue.js
嵌入式×边缘AI:打怪升级日志9 小时前
使用JsonRPC实现前后台
前端·后端
小码哥_常10 小时前
深度剖析:为什么Android选择了Binder
前端