在网页设计中,液态玻璃(Liquid Glass)是一种极具视觉冲击力的效果,它模仿现实中玻璃的透光、模糊、反射与折射特性,使界面呈现出高级质感与流动感。本文将围绕如何仅使用 CSS(必要时结合 SVG 滤镜)实现这种效果展开详尽说明,适合现代 UI、按钮、卡片、模态框、仪表盘等设计场景。
基础结构:HTML + CSS
HTML 结构示例
<div class="glass">
<!-- 内容放置区 -->
<h3>Liquid Glass 卡片</h3>
</div>
CSS 基础样式
.glass {
position: relative;
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(2px) saturate(180%);
border: 1px solid rgba(255, 255, 255, 0.8);
border-radius: 2rem;
box-shadow:
0 8px 32px rgba(31, 38, 135, 0.2),
inset 0 4px 20px rgba(255, 255, 255, 0.3);
}
- 使用 backdrop-filter: blur() 制造柔和背景模糊。
- rgba 背景带来半透明层次。
- inset 内阴影营造深度感。
- 圆角和半透明边框塑造玻璃结构。
光泽与液态高亮:伪元素技巧
.glass::after {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background: rgba(255, 255, 255, 0.1);
border-radius: 2rem;
backdrop-filter: blur(1px);
box-shadow:
inset -10px -8px 0 -11px rgba(255, 255, 255, 1),
inset 0 -9px 0 -8px rgba(255, 255, 255, 1);
opacity: 0.6;
z-index: -1;
filter: blur(1px) drop-shadow(10px 4px 6px black) brightness(115%);
}
这种伪元素方式能够模拟表面光泽滑动的视觉,仿佛光线在玻璃表面流动。
高级折射效果:SVG 滤镜与位移映射
Pure CSS 无法原生支持折射或内容扭曲,但可以通过 SVG 滤镜中的 <feTurbulence> 和 <feDisplacementMap> 实现:
<svg style="display:none">
<filter id="distort" x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency="0.008" numOctaves="2" result="noise"/>
<feGaussianBlur in="noise" stdDeviation="2" result="blurred"/>
<feDisplacementMap in="SourceGraphic" in2="blurred" scale="70" xChannelSelector="R" yChannelSelector="G"/>
</filter>
</svg>
然后在 CSS 中应用:
.glass {
backdrop-filter: url(#distort) blur(3px) saturate(200%);
}
使用这种方式,可以模拟内容被玻璃扭曲变形的折射感,类似 Apple 的 Liquid Glass 风格。
兼容性与渐进增强策略
现代浏览器(Chrome、Firefox、Safari、Edge)已支持 backdrop-filter,但对于 SVG 映射滤镜的支持可能有限—尤其在 WebKit 内核的 Safari 上仍存在兼容问题。为此:
- 提供基础版模糊和半透明背景,在不支持滤镜的浏览器上仍保持视觉一致。
- 在支持浏览器里加载 SVG 滤镜增强版。
- 避免影响可访问性,确保高对比度文本与适当大小的交互区域。
增强交互:动画与响应响应式效果
你可以通过 CSS 动画或交互伪类为玻璃组件增加交互感:
.glass:hover {
background: rgba(255,255,255,0.2);
box-shadow: 0 12px 40px rgba(31,38,135,0.3);
}
或使用 CSS 变量调节滤镜参数,搭配 JS 控件实时调试 -- Reddit 上就有提供可调节 Inner shadow、noise distortion 的演示工具。
总结与实践建议
- 核心技术:模糊(backdrop-filter)、半透明背景、阴影、伪元素高亮。
- 进阶滤镜:SVG 位移映射打造折射效果。
- 兼容策略:基础模糊 + 渐进增强、为老浏览器准备样式回退。
- 交互与动画:hover、变量控制、动态调整增加应用感。
Liquid Glass 效果非常适合用作卡片、按钮、模态弹窗、拖拽窗口等视觉界面元素。关键在于在追求视觉质感的同时,保证性能表现与可访问性水平。