Elevation(高度层级)是指两个界面表面在 z 轴上的相对距离。
一、概览(Overview)
1. 使用要求
- 高度层级(Elevation)适用于所有界面表面与组件。
- 高度层级令牌(Elevation tokens)用来规范组件在 z 轴上的距离,使它们在界面中保持一致的视觉层次关系。
- 高度层级令牌本身不包含阴影或颜色;具体每一层的阴影样式与视觉表现由各平台自行定义。
- 高度层级可以通过“表面明暗层级(Tonal elevation)”或“阴影(Shadow)”来呈现。
- 避免修改 Material 3 组件的默认高度层级值。
- 建议只使用少量的高度层级等级,以保持视觉系统简洁、一致。
高度层级以组件在 z 轴上的距离来衡量,单位为密度独立像素(density-independent pixels, dps)。

高度层级(Elevation)表示界面元素之间在空间上的距离。产品通过颜色来表达高度层级。① 从正面看:一个表层位于 1dp 的高度层级,另一个位于 8dp 的高度层级。② 从侧面看:这两个表层之间的高度层级差为 7dp。
2. 与 M2 的差异
- 阴影(Shadows):不要为所有高度层级默认添加阴影;只有在需要强化与背景的区隔,或需要强化可交互性时才使用阴影。
- 颜色(Color):使用全新的颜色映射方式,并支持动态色彩(dynamic color)。
- 层级(Levels):高度层级现在以“层级 levels”来进行定义与描述。

3. 所有表面与组件都有高度层级值
不同高度层级(Elevation)的表面会带来以下作用:
1. 允许界面表面在视觉上前后穿插,例如内容可以在应用栏(App Bar)后方滚动。
2. 通过视觉关系体现空间结构,例如浮动操作按钮(FAB)的阴影会展示它独立于卡片集合之上。
3. 将用户注意力聚焦在最高高度层级上,例如对话框会短暂地浮在其他界面元素之上。
高度层级(Elevation)可以通过阴影或其他视觉线索来呈现,例如使用不同明度的表面填充色。
3.1 默认静止高度层级(Resting elevation / Default)
所有组件都有一个默认的静止高度层级。避免修改 Material 组件的默认高度层级。

所有组件都有一个默认的高度层级,应当使用这一默认值
3.2 改变高度层级(Changing elevation)
组件应当根据系统事件或用户交互(如悬停)来改变其高度层级(elevation)。这种高度层级的变化应在所有同类元素之间保持一致性。
例如,一个 FAB(悬浮操作按钮)在被悬停时,会临时提升 1 个高度层级,从 Level 3 升至 Level 4。所有 Material 按钮在悬停时都会统一增加 1 个高度层级(1 elevation level)。
将鼠标悬停在按钮上,会提升其高度层级(elevation),以体现用户交互。
二、如何应用高度层级(Applying elevation)
Material 3 的高度层级系统(Elevation system)被刻意限制为少量等级。这种“创意限制”意味着设计师需要更慎重地规划界面的高度层级叙事(elevation story)。

- Material 使用六个高度层级(elevation levels),每个层级都对应一个 dp 值。这些层级按与界面表面的相对距离命名:0、+1、+2、+3、+4 和 +5。
- 组件的静止态(resting state)通常处于 0 至 +3 层级,而 +4 和 +5 层级则保留给用户交互态(如 hover 悬停、拖拽 dragged)使用。
1. 呈现高度层级
高度层级(Elevation)可以通过阴影(shadows)或其他视觉线索表现,例如:使用不同色调差的表面填充(surface fills with a tone difference),或使用遮罩(scrims)。
要成功表现高度层级,一个表面需要具备以下特征:
- 表面边缘(Surface edges):通过与周围表面形成对比,区分层级关系。
- 与其他表面的重叠(Overlap),无论在静止态(at rest)还是移动中(in motion),都能体现层级关系。
- 与其他表面之间的距离(Distance from other surfaces):用于表现高度差与空间关系。









