css实现磨砂效果(filter 与 backdrop-filter 的对比分析)

在 CSS 中实现磨砂效果(类似于 iOS 的磨砂玻璃效果)通常结合使用 backdrop-filter 属性和半透明的背景色。

html 复制代码
<div class="content">
  <img src="src\assets\404_images\xxmLogo.png" alt="">
  <div class="frosted-glass">
    <p>This is a frosted glass effect.</p>
  </div>
</div>
css 复制代码
.content {
  position: relative;
  width: 200px;
  height: 200px;
}

.frosted-glass {
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.3);
  /* 半透明背景色 */
  backdrop-filter: blur(20px);
  /* 背景模糊效果 */
  -webkit-backdrop-filter: blur(10px);
  /* Safari 中的背景模糊效果 */
  text-align: center;
  left: 0;
  bottom: 0;
  position: absolute;
}
  • background-color: rgba(255, 255, 255, 0.3);:使用半透明的白色背景,让背景内容依然可见,同时为磨砂效果打基础。
  • backdrop-filter: blur(10px); 和 -webkit-backdrop-filter: blur(10px);:这是磨砂效果的核心。backdrop-filter对元素后面的背景应用模糊效果。-webkit-backdrop-filter 是为了兼容 Safari 浏览器。

效果图:

添加backdrop-filter:

未加backdrop-filter:

拓展

给img加上 filter:blur(5px); 会产生如下效果:

  • filter: 是一个CSS属性,用于为元素的图像本身(或任何其他可以应用滤镜的元素)应用视觉效果,比如模糊、锐化、颜色变化等。它直接影响到应用了该属性的元素本身。
  • backdrop-filter: 同样是一个CSS属性,但它的作用是为元素背后的区域(即元素的背板)应用滤镜效果。这意味着它可以为任何位于该元素下面的元素添加视觉效果,而不会改变元素本身的样式。

CSS 属性 filter 与 backdrop-filter 的对比分析

相关推荐
最逗前端小白鼠17 分钟前
vue3 数据响应式遇到的问题
前端·vue.js
朝阳58137 分钟前
rust 交叉编译指南
开发语言·后端·rust
倚栏听风雨40 分钟前
ts中 ?? 和 || 区别
前端
冴羽1 小时前
请愿书:Node.js 核心代码不应该包含 AI 代码!
前端·javascript·node.js
我家猫叫佩奇1 小时前
一款灵感源自《集合啦!动物森友会》的 UI 组件库
前端
mmmmm123421 小时前
深入 DOM 查询底层:HTMLCollection 动态原理与 querySelectorAll 静态快照解析
前端·javascript
weixin199701080161 小时前
《TikTok 商品详情页前端性能优化实战》
前端·性能优化
闲坐含香咀翠1 小时前
告别二次登录!Web端检测并唤起Electron客户端实战
前端·客户端
岁月宁静1 小时前
都知道AI大模型能生成文本内容,那你知道大模型是怎样生成文本的吗?
前端·vue.js·人工智能
量子炒饭大师1 小时前
【C++ 进阶】Cyber霓虹掩体下的代码拟态——【面向对象编程 之 多态】一文带你搞懂C++面向对象编程中的三要素之一————多态!
开发语言·c++·多态