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

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

<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>
.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 的对比分析

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
除了 `backdrop-filter`,你还可以使用其他方法来实现模糊遮罩效果。以下是几种常见的实现方式: 1. 使用 CSS `filter` 属性:可以使用 `blur` 值来给元素添加模糊效果。例如: ```css .element { filter: blur(5px); } ``` 这将给元素添加一个 5 像素的模糊效果。你可以根据需要调整模糊程度。 2. 使用 SVG 滤镜:使用 SVG 可以创建自定义的滤镜效果,包括模糊效果。你可以在 SVG 文件中定义一个滤镜并将其应用于 HTML 元素。例如: ```css .element { filter: url(#blur-filter); } ``` 然后在 SVG 文件中定义滤镜: ```html <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="0" height="0"> <defs> <filter id="blur-filter"> <feGaussianBlur stdDeviation="5" /> </filter> </defs> </svg> ``` 这将给元素添加一个 5 像素的模糊效果。 3. 使用背景图片和 CSS `::after` 伪元素:你可以为元素添加一个背景图片,并使用 `::after` 伪元素覆盖在上面,然后通过设置透明度和模糊效果实现遮罩效果。例如: ```css .element { position: relative; background-image: url('your-image.jpg'); } .element::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); /* 半透明黑色 */ backdrop-filter: blur(5px); } ``` 这将给元素添加一个带有背景图片的半透明黑色遮罩,并应用 5 像素的模糊效果。 这些是一些常见的实现模糊遮罩效果的方法,你可以根据具体需求选择适合的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值