CSS 新拟物化(Neumorphism)生成器
由一个基础颜色生成明暗两层 box-shadow,得到柔和 UI 的新拟物化 CSS。支持平面、凹陷、凸起和按下形状,并提供对比度警告。
新拟物化(“柔和 UI”)让元素的颜色与背景相同,再加上两层阴影:远离光源的一侧是较暗的阴影,朝向光源的一侧是较亮的阴影,于是元素看起来像是从页面中凸出来,或被按进页面里。这个生成器像 neumorphism.io 那样,从您的基础颜色计算出两种阴影颜色,针对任意光源方向写出平面、凹陷、凸起或按下的变体,并在结果对比度太低、不适合用作控件时给出警告。
使用方法
- 选择基础颜色——元素后面的页面也必须使用它。
- 设置尺寸、圆角、阴影距离、模糊和强度。
- 选择形状和光源方向。
- 复制 CSS;用于按钮或输入框之前,请先看边缘对比度警告。
计算公式
暗色 = 通道 × (1 − 强度) · 亮色 = min(255, 通道 × (1 + 强度)) · box-shadow: d d 模糊 暗色, −d −d 模糊 亮色
d 是距离,正负号取决于光源方向。凹陷和凸起形状会在左上光源时沿 145° 添加从暗 10% 到亮 7% 的渐变(或相反),其他角的光源则镜像处理;按下形状使用 inset 阴影。
示例
对于 #E0E0E0、强度 15%,每个通道 224 × 0.85 = 190.4 → #BEBEBE,224 × 1.15 = 257.6 → 上限 #FFFFFF,得到 box-shadow: 20px 20px 60px #bebebe, -20px -20px 60px #ffffff。表面与暗部阴影之间的边缘对比度只有 1.4:1,远低于 WCAG 对界面组件要求的 3:1。
常见问题
新拟物化符合无障碍要求吗?
单独使用很少符合。按钮和输入框只靠柔和的边缘来辨认,对比度通常远低于 WCAG 1.4.11 要求的最低 3:1。请添加边框、图标、文字标签或更明显的按下状态,让低视力用户也能找到并使用控件。
为什么我的元素看起来是平的?
页面背景必须与元素颜色一致。在白色或其他颜色的背景上,亮部阴影会消失,效果就失效了。
新拟物化能用在深色背景上吗?
可以,但亮部阴影的空间更小:在很暗的基础颜色上,提亮后的阴影并不明显。可以提高强度,或使用 #2E3440 这样的中深色基础颜色。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/css-neumorphism-generator/
引用此工具
kakaoCalc. (2026, November 8). CSS 新拟物化(Neumorphism)生成器. https://kakao.mobile/zh/tools/css-neumorphism-generator/
“CSS 新拟物化(Neumorphism)生成器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/css-neumorphism-generator/.