使用方法
Glassmorphism生成器只做一件事:把五个参数变成一段能直接用的 CSS,四步:
- 拖「模糊半径」定毛玻璃的通透程度,演示值 16px。
- 拖「底色不透明度」定卡片有多实,演示值 20%。
- 拖「圆角」与「边线不透明度」,演示值 16px 与 30%。
- 点「生成 CSS」出片段,上方预览同步更新;点「复制 CSS」整段拿走。
下方对照表给出 18 组常用参数,前 12 行展开,余下 6 行点「加载更多」。
Glassmorphism生成器能解决什么
它解决「知道毛玻璃好看但调不出参数」这件事,适合三类人:
- 写前端的:直接拿走一段可用的 CSS,不用来回试
backdrop-filter的数值。 - 做设计的:用滑杆快速比出深度层级,把模糊大、底色实与模糊小、底色透的效果并排看。
- 做模板的:卡片、导航条、弹窗各需要一套参数,对照表里直接抄。
它不做三件事:不生成整套页面、不导出图片(只出 CSS 文本)、不做兼容性检测——旧浏览器不支持 backdrop-filter 时会退化成半透明纯色,需要你自己加降级。
原理和变量
① 毛玻璃靠哪几行实现:核心是 backdrop-filter: blur(n),它把背后的内容模糊掉;再配一层半透明底色,卡片才有「玻璃」的存在感。少了底色,模糊区域边界会糊成一片。
② α 值怎么换成整数:CSS 的 rgba 第四位可以直接写小数,也可以写 0 到 255 的整数。0.20 换成整数是 255 × 0.20 = 51,两者等价,本页统一输出小数形式,更好读。
③ 为什么要一起输出 -webkit- 前缀:部分 Safari 版本只认带前缀的写法。两行一起给,省得你手工补,代价是 CSS 多 40 来个字符。
④ 输入怎么变成输出:模糊 16、底色 20%、圆角 16、边线 30% 时,生成的就是那五行声明,共 168 个字符;把圆角改成 999px 会得到胶囊形,浏览器实际会裁到卡片高度的一半。
⑤ 边界与校验:四个滑杆的取值都被限死(模糊 0 到 40px、底色 5% 到 60%、圆角 0 到 40px、边线 0 到 80%),不存在非法输入;复制按钮在还没生成时点,会提示先点「生成 CSS」。
⑥ 常见误用:一是只写 backdrop-filter 忘了 -webkit- 前缀,Safari 上直接没效果;二是把模糊值开到 40px 以上,卡片边缘会糊成一块,文字也跟着发虚;三是底色不透明度超过 60%,玻璃就变成了实心块,失去通透感。
完整示例
演示参数:模糊 16px、底色不透明度 20%、圆角 16px、边线不透明度 30%。生成的 CSS 片段为:
- background: rgba(255, 255, 255, 0.2);
- backdrop-filter: blur(16px);
- -webkit-backdrop-filter: blur(16px);
- border: 1px solid rgba(255, 255, 255, 0.3);
- border-radius: 16px;
整段共 168 个字符。把圆角从 16 改成 999,其余不动,得到的仍是五行,只是最后一行变成 border-radius: 999px;,预览里的方角立刻变圆角胶囊。把边框不透明度从 30% 拉到 0,边线消失,卡片只剩一层模糊底,边界感立刻变弱——这就是边线存在的意义。
输入范围与对照表
下表列出 18 组常用参数,前 12 行直接展开,余下 6 行点「加载更多」:
| 用途 | 模糊 px | 底色 α | 圆角 px | 边线 α |
|---|---|---|---|---|
| 雾面卡片 | 12 | 0.20 | 16 | 0.30 |
| 厚重玻璃 | 24 | 0.35 | 24 | 0.45 |
| 轻纱提示条 | 8 | 0.12 | 10 | 0.20 |
| 圆润按钮 | 16 | 0.25 | 999 | 0.35 |
| 侧边浮层 | 20 | 0.30 | 20 | 0.40 |
| 弹窗遮罩卡 | 30 | 0.40 | 18 | 0.50 |
| 极简徽标 | 6 | 0.10 | 8 | 0.18 |
| 深色玻璃 | 18 | 0.28 | 14 | 0.32 |
| 导航条 | 10 | 0.18 | 0 | 0.25 |
| 图片题注 | 14 | 0.22 | 12 | 0.28 |
| 数据卡片 | 22 | 0.32 | 16 | 0.38 |
| 悬浮提示 | 9 | 0.16 | 12 | 0.24 |
| 输入框玻璃 | 11 | 0.14 | 10 | 0.22 |
| 分页玻璃条 | 13 | 0.21 | 999 | 0.30 |
| 播放器面板 | 26 | 0.38 | 20 | 0.42 |
| 标签玻璃片 | 7 | 0.13 | 999 | 0.20 |
| 聊天气泡 | 15 | 0.24 | 18 | 0.33 |
| 价格牌 | 19 | 0.29 | 14 | 0.36 |
输入范围:模糊半径 0 到 40px(步长 1);底色不透明度 5% 到 60%(步长 1);圆角 0 到 40px(步长 2);边线不透明度 0 到 80%(步长 1)。四组参数合共 41 × 56 × 21 × 81 种组合,本页只列最常用的 18 组,其余靠滑杆自己调。
结果边界和舍入
三条边界:
- 只输出 CSS 声明,不带选择器:片段里没有
.class与花括号,你可以直接贴进已有的类里,也可以自己套一层选择器。 - 不判断背景是否合适:毛玻璃只有压在有内容的背景上才看得见。如果背后是纯色,模糊等于没做,需要先换背景。
- 不处理性能:
backdrop-filter会触发一次额外的合成,页面里同时存在十几个毛玻璃元素时,滚动可能变卡,建议只用在卡片与导航层。
常见问题
为什么我的 Safari 上看不到效果?
多半是漏了 -webkit- 前缀。本页输出的五个声明要把 -webkit-backdrop-filter 那行一起复制进去。
α 写 0.2 和写 51 有区别吗?
没有。rgba 第四位小数形式与 0 到 255 整数形式等价,255 × 0.2 = 51。
背景是纯色也能看到毛玻璃吗?
看不到。模糊需要背后有可辨认的内容,纯色背景模糊后仍是纯色,只能看出半透明底色。
圆角填 999px 会怎样?
得到胶囊形。浏览器会把圆角裁到不超过高度的一半,所以不会画出一个超大的圆弧。
能生成深色玻璃吗?
可以。本页默认白色底,把输出里的 rgba(255, 255, 255, α) 换成 rgba(15, 23, 42, α) 即可。
会拖慢页面吗?
有可能。backdrop-filter 会多一次合成,元素多了滚动会掉帧,建议只用在少量层级上。
支持导出成图片吗?
不支持。本页只输出 CSS 文本,截图请用系统截图工具。
参数会上传吗?
不会。计算与预览都在浏览器里完成,滑杆数值不会离开你的设备。