跳到主要内容
menumenu tanreiexpand_morecontrasttranslate
tanreiexpand_more
开始使用WebReactSwiftUIJetpack ComposeFlutterReact Native预设你自己的设计系统与 AI 代理一起使用 Tanrei品牌设计令牌设计系统与定制Theme Studio颜色字体排印图标形状层级动效交互状态行为布局无障碍文字颜色令牌字阶令牌形状令牌层级令牌动效令牌状态令牌间距与度量令牌组件按钮主操作按钮分段按钮按钮组带菜单的按钮工具栏复制按钮复选框单选按钮开关纸片(Chip)菜单滑块滑块字段日历DateTimePicker字段组单选组复选框组下拉选择框下拉选择字段菜单栏文件上传文件选择器 进阶放置区文本输入框 进阶文本字段纸片字段字段组合框 进阶组合框字段数字输入框 进阶数字字段颜色输入框 进阶颜色字段一次性验证码输入框 进阶一次性验证码字段嵌入式文本输入框 进阶聊天输入栏卡片分隔线模态层 进阶对话框列表列表行底部面板侧边面板轮播代码块表格弹出框步骤折叠面板描述列表图示应用外壳页头树视图时间线图片预览调整手柄可调整大小的框滚动区域徽标进度指示器计量条数字滚动器加载指示器消息条(Snackbar)工具提示键盘快捷键标签(Tag)行内代码提示块(Callout)头像空状态标签组(Tag group)骨架屏文件项色块跑马灯文本标签页标签页视图应用栏导航栏导航抽屉搜索链接分页上一页/下一页链接步骤条面包屑目录链接卡片FAB 菜单状态Tanrei 是如何构建的参与贡献许可与致谢
首页基础层级

层级

表示前后叠放次序的六个级别,以一圈细线圆环加上极柔和的阴影绘制,表面不叠加色调。

content_copy以 Markdown 格式查看

层级(Elevation)描述的是哪个表面位于哪个表面之上。Tanrei 保留了 0 到 5 这六个语义级别,并以克制的方式来绘制它们。

level0
level1
level2
level3
level4
level5
令牌 浅色 深色
--tanrei-sys-elevation-level0
--tanrei-sys-elevation-level1
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 0px 0px 1px rgb(0 0 0 / 0.08)
--tanrei-sys-elevation-level2
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 1px 2px 0px rgb(0 0 0 / 0.04)
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 1px 2px 0px rgb(0 0 0 / 0.04)
--tanrei-sys-elevation-level3
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 1px 1px 0px rgb(0 0 0 / 0.04)
0px 4px 8px -4px rgb(0 0 0 / 0.04)
0px 16px 24px -8px rgb(0 0 0 / 0.06)
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 1px 1px 0px rgb(0 0 0 / 0.04)
0px 4px 8px -4px rgb(0 0 0 / 0.04)
0px 16px 24px -8px rgb(0 0 0 / 0.06)
--tanrei-sys-elevation-level4
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 1px 1px 0px rgb(0 0 0 / 0.04)
0px 8px 16px -4px rgb(0 0 0 / 0.04)
0px 24px 32px -8px rgb(0 0 0 / 0.06)
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 1px 1px 0px rgb(0 0 0 / 0.04)
0px 8px 16px -4px rgb(0 0 0 / 0.04)
0px 24px 32px -8px rgb(0 0 0 / 0.06)
--tanrei-sys-elevation-level5
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 8px 24px -12px rgb(0 0 0 / 0.12)
0px 8px 32px -12px rgb(0 0 0 / 0.06)
0px 32px 72px -12px rgb(0 0 0 / 0.06)
0px 0px 0px 1px rgb(0 0 0 / 0.08)
0px 8px 24px -12px rgb(0 0 0 / 0.12)
0px 8px 32px -12px rgb(0 0 0 / 0.06)
0px 32px 72px -12px rgb(0 0 0 / 0.06)

生成自 design/tokens/tanrei.light.tokens.json, design/tokens/tanrei.dark.tokens.json, tokens/sys/elevation.tokens.json

先画圆环,再画阴影

零级以上的每个级别,都是一个由两类图层组成的复合阴影令牌:

  1. 一圈 1px 的圆环,使用 elevation-ring 角色,无论在什么背景上都能清晰地勾勒出边缘;
  2. 一到两层极柔和、不透明度很低的阴影,随级别升高而变大。

圆环始终是第一层。无法绘制阴影扩展(spread)的平台,把它渲染为一像素的边框,其余部分保持不变。

不叠加色调

抬升的表面不会叠加主色的色调。纵深由圆环、阴影,以及在需要时沿表面容器阶梯上移一级来表达。这样,中性的表面始终保持中性。

在深色主题中

在接近黑色的背景上,阴影很难看清。因此在深色主题中,主要靠圆环起作用,抬升的表面同时也会换用更亮一级的容器角色。

如何使用层级

级别 典型用途
0 页面,以及与页面齐平的一切
1 静止状态的卡片、分段控件中被选中的选项
2 elevated 按钮、悬停时抬起的卡片
3 菜单、弹出框、消息条
4–5 对话框、面板以及其他模态表面

一个屏幕上使用的级别越少越好。如果相邻的两个元素需要区分开,而它们都不是浮起的,就改用细线。