核心代码
.glass {
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border: 1px solid rgba(255, 255, 255, 0.3);
}
三个关键点:
- 半透明背景——没有它就没法穿透
- blur——磨砂的核心
- saturate——提升后面色彩饱和度,模拟玻璃的折射
浏览器兼容
| 浏览器 | 支持 |
|---|---|
| Chrome 76+ | ✅ |
| Safari 9+ | 需 -webkit- 前缀 |
| Firefox 103+ | ✅ |
性能注意
backdrop-filter 会触发 GPU 合成层,不要在大面积元素上滥用,
否则滚动时会掉帧。理想用法是导航栏、卡片、Modal。
进阶:噪点叠加
纯磨砂玻璃略显塑料感,叠一层 SVG 噪点会更"真实":
.glass::before {
content: '';
position: absolute;
inset: 0;
background: url('/noise.svg');
opacity: 0.04;
pointer-events: none;
}