css制作磨砂效果
使用 backdrop-filter 属性
通过 CSS 的 backdrop-filter 属性可以直接实现磨砂效果。该属性会对元素背后的区域应用滤镜效果,适合用于模态框、侧边栏等场景。
.blur-effect {
backdrop-filter: blur(10px);
background-color: rgba(255, 255, 255, 0.5); /* 半透明背景增强效果 */
}
注意事项:

- 浏览器兼容性需检查(部分旧版本浏览器需前缀
-webkit-backdrop-filter)。 - 背景颜色透明度(
rgba)可调整以控制磨砂强度。
伪元素模拟磨砂效果
若需兼容不支持 backdrop-filter 的浏览器,可通过伪元素复制背景并模糊处理。
.blur-fallback {
position: relative;
overflow: hidden;
}
.blur-fallback::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('背景图片路径') center/cover;
filter: blur(10px);
z-index: -1;
opacity: 0.8;
}
适用场景:

- 静态背景或已知背景图片的情况。
- 需确保伪元素的
z-index不影响内容层。
SVG 模糊滤镜
通过内联 SVG 定义滤镜,再通过 CSS 引用实现更复杂的模糊效果。
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<filter id="blur-effect">
<feGaussianBlur stdDeviation="5" />
</filter>
</svg>
<style>
.svg-blur {
filter: url(#blur-effect);
}
</style>
优势:
- 可与其他 SVG 滤镜组合使用(如颜色调整)。
- 适用于需要高精度控制的场景。
性能优化建议
- 避免过度使用
blur(),较大的模糊半径会导致性能下降。 - 对固定背景元素使用
will-change: transform提升渲染性能。 - 移动端可考虑降低模糊半径或改用半透明替代方案。
浏览器兼容性处理
.blur-compatible {
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
@supports not (backdrop-filter: blur(10px)) {
/* 回退方案:如半透明背景或伪元素方法 */
background: rgba(255, 255, 255, 0.8);
}
}






