指南
设计令牌,用真实文件讲清楚
设计令牌就是一个有名字的设计决策:一种颜色、一个间距、一个字号。只存储一次,设计工具和代码都能处处使用。
为什么需要设计令牌
没有令牌时,按钮的蓝色先写在设计文件里,再写一遍在 CSS 里,然后又写一遍在应用里。改一次,就得到处去找。有了令牌,你只需修改 color.brand,所有用到它的地方都会随之更新。
令牌文件长什么样
W3C 设计令牌社区组(Design Tokens Community Group)定义了一种 JSON 格式,其中每个令牌都有一个 $value 和一个 $type。
{
"color": {
"brand": { "$value": "#2F5BEA", "$type": "color" },
"ink": { "$value": "#121214", "$type": "color" }
},
"space": {
"4": { "$value": "16px", "$type": "dimension" }
}
}同样的决策,转换成浏览器可以使用的 CSS 变量:
:root {
--color-brand: #2F5BEA;
--color-ink: #121214;
--space-4: 16px;
}Kalka 如何使用令牌
- 一个文件夹:每个项目都有一个
design-system/文件夹,里面是 W3C 格式的tokens.json,旁边是tokens.css。 - 在画布上使用:你在设计面板里选择颜色或间距时,选的就是一个令牌,CSS 中使用的也是对应的变量。
- 用 Git 做版本管理:修改品牌色就是一次可以审查的提交,和任何代码改动一样。
Kalka 正在开发中,并且是开源的。上面的文件夹结构来自我们的产品规格。