跳到主要内容

把 Figma 图层当作玻璃叠层来思考

拆掉「不透明」的默认假设,用模糊、折射与层级重新组织设计文件。

大多数人打开一个 Figma 文件,看到的是一个个矩形。而做过玻璃拟态之后,你会开始把它们看成一片片叠起来的玻璃——这个视角的切换,会直接改变你组织文件的方式。

从「背景 + 前景」到「层」

传统思路里,画布分两层:底下一层背景,上面一层内容。但当界面由多层半透明材质构成时,这个二分法就崩了。因为:

  • 每一层都会影响它下面所有层的观感
  • 半透明的层不能随便移动位置,挪动会改变它折射到的颜色
  • 层的顺序本身就是一种设计决策

我们现在的做法是,在 Figma 里给每一层命名时带上它的「材质角色」:

05 · 浮层 / 玻璃 · 弹窗
04 · 浮层 / 玻璃 · 导航
03 · 内容 / 实体
02 · 光 / 光斑 · 装饰
01 · 底 / 渐变

数字是叠放顺序,中间是角色。这个名字约定本身不值钱,值钱的是它逼你在动手前想清楚「这一层凭什么浮在上面」。

用不透明度表达距离

如果所有层都是 100% 不透明,层级就只能靠阴影表达,而阴影在浅色背景上非常弱。

玻璃给了第二种语言:越靠近眼睛的层,透光越少、模糊越强。

层级 背景不透明度 模糊半径
导航条(常驻) 50% 30px
卡片 48% 28px
大面板 50% 32px
浮层 / 弹窗 62% 40px

这是个反直觉但很有效的规律:浮得越高,越不透明。因为高处的浮层需要保证内容可读性,而它的「浮」已经由投影和模糊表达了,不需要再用透明度去强调。

组件的坑:玻璃组件不能被实例覆盖

如果你把一块玻璃做成组件,然后在使用时改它的背景色,会发现——它和背后的光斑脱钩了。半透明的魅力在于它会跟环境互动,一旦你为了「统一」把它固化成实色,环境就消失了。

我们的处理办法是把「玻璃」和「内容」彻底分开:

  • 玻璃组件只管容器:不透明度、模糊、描边、内阴影
  • 内容组件(标题、标签、作者行)作为插槽放进去
  • 配色通过 token 传给渐变封面,而不是覆盖玻璃本身

最后一点

这套方法最实际的好处,不是文件更整齐,而是改起来快。

当客户说「整体感觉太沉了」,你不需要一个个调卡片,只需要改 --glass-bg 和底层光斑的透明度,整页的呼吸感会一致地变化。这就是把材质抽象出来的回报。