标准答案

  1. spacing token 应该形成有限尺度,例如 4、8、12、16、24,而不是每个组件随意写值。
  2. color token 要区分基础色、语义色和组件状态色,例如 primary、danger、text-muted、border-default。
  3. radius token 要覆盖小控件、卡片、弹窗等常见圆角层级。
  4. shadow token 要按层级表达浮起关系,例如 card、dropdown、modal。
  5. token 最好通过 CSS 变量或构建产物输出,支持主题切换、品牌覆盖和文档说明。

题目解析

这题考的是设计系统意识。token 不是把所有颜色起个变量名,而是形成可维护的语义层。

组件不应该直接依赖某个具体绿色或阴影值,而应该依赖语义 token。

代码示例

语义 token 比裸色值更适合组件库长期维护。

CSS
:root {
  --space-4: 16px;
  --color-primary: #35ad72;
  --radius-card: 8px;
  --shadow-card: 0 8px 24px rgba(0, 0, 0, .08);
}

常见误区

  • 把 token 做成颜色变量清单,没有语义层和组件层。
  • 间距尺度过多,设计和开发仍然随意取值。
  • 只考虑亮色主题,没有为暗色、品牌定制和无障碍对比度留空间。

作者信息