阴影与材质
阴影在这里只表达"离页面多远",不表达边界——边界归描边。所以阴影只有四个海拔角色,每个角色对应一类离开页面的方式;材质配方把底、边、影、高光与前景打包成四档,组件只挑档,不自己配光。
海拔角色
| 令牌 | 取值 | 预览 | 说明 |
|---|---|---|---|
--xh-elevation-raised | var(--xh-shadow-sm) | 贴在页面上、略抬起的面:Card、Segmented 与 Tabs 的滑块、静止的滑杆拇指、开关拇指。必带 border-default 描边,影只是加成 | |
--xh-elevation-lifted | 0 1px 2px -0.5px oklch(0.145 0.005 258 / 0.06), 0 3px 6px -2px oklch(0.145 0.005 258 / 0.06), 0 6px 12px -5px oklch(0.145 0.005 258 / 0.05) | 被指针拎起来、正跟着手移动的东西:拖动中的滑杆拇指、排序项、取色器拇指。比 raised 高、没到 floating | |
--xh-elevation-floating | var(--xh-shadow-md) | portal 出去的锚定浮层里含网格或多列的面板:日期 / 时间选择器面板、NavigationMenu 面板、侧栏弹出层 | |
--xh-elevation-sheet | var(--xh-shadow-lg) | 模态与强反馈面:Dialog、Drawer、Command、Toast、Notification |
原语只有 --xh-shadow-sm / md / lg / xl 四档;lifted 落在 raised 与 floating 之间,原语里没有它的位置,所以直接写成三层配方。海拔逐部件登记(门禁 check-elevation-role),登记表之外的部件不许消费阴影。
四档材质
每档提供同名九项令牌:bg、backdrop、border、highlight、shadow、separator、fg、fg-muted、focus-surface。
| 档 | 令牌 | 给谁 | 光学 |
|---|---|---|---|
| M0 solid | --xh-material-solid-* | 静态内容面缺省:border-default 描边 + surface 底 + 无影;字段静息同为描边式 | 实体底色,无高光、无投影 |
| M1 soft | --xh-material-soft-* | Button soft、Tag、Popconfirm 动作等次级操作;不用于 Card 与字段 | 实体底色,细微顶光与两段接触投影,无背景模糊 |
| M2 frosted | --xh-material-frosted-* | 短列表、菜单、tooltip、气泡等需要透景的锚定瞬态浮层 | 0.88 不透明度,16px 模糊,108% 饱和度,1px 可见边界 |
| M4 elevated | --xh-material-elevated-* | Dialog、Drawer、Command、Tour、Toast、Notification 等模态与强反馈面,必有 1px 描边 | 完全不透明,无背景模糊,三层高层投影 |
另有两个由海拔组成的叠加档:raised = solid 描边 + solid 底 + --xh-elevation-raised(Card 与可抬起 / 可拖起部件);floating = solid 底 + --xh-border-default + --xh-elevation-floating(含网格或多列的锚定面板)。它们没有 --xh-material-* 令牌。
磨砂面的范围
- 只用于需要保留背景空间感的瞬态浮层;正文、表单主体、Card、Table、Toast 与 Dialog 主阅读面不用。
- 含网格或多列的锚定面板(日期面板、多列级联)改用 floating:实体底、不透景,网格线不会与背景打架。
- 不把
backdrop-filter放在页面根、大滚动区或重叠的多层表面,不对模糊半径做动画。 - 焦点环必须搭配
focus-surface对应的实体隔离面。 - 没有 glass 材质,也没有任何兼容别名;透明浮层只允许 frosted 这一种柔和模糊。
Tooltip 等小型反白面用三支 compact 配方(--xh-material-frosted-compact-alpha / -backdrop / -shadow:0.94 不透明度、8px 模糊、明暗独立的小投影)组合 M2 的边界、前景与高光。
深色档的投影
深色主题的投影色留在纯黑:中性色阶最暗的一档比页面底还亮,拿它当投影压不出深度。四档都在末尾带一条 1px 的浅色描边把面的上沿提出来——raised 与 lifted 那条写成 inset 且只画上边缘,不绕四周,否则会与输入框壳、滑杆拇指自带的描边并成相距 1px 的两道线。
环境轴上的降级
同一令牌名原位降级:高对比档提高不透明度并加强边界;减少透明度(data-transparency="reduce")与打印改为实体底并关闭背景滤镜;强制色改由 Canvas / CanvasText 表达。四档在浅色、深色两套主题下都按黑、白、中灰、页面与品牌背景验证正文至少 4.5:1、焦点环对隔离底至少 3:1。
相关
- 形状与边界 · 暗黑模式
- 指南:设计令牌与主题 · 材质配方
