文章

让设计令牌管住样式

一个页面自己长得好看不难,难的是十个页面看起来像同一个人做的。

只在一处落地具体数值

颜色、间距、圆角、缓动曲线统统写成 CSS 自定义属性,组件里只引用变量:

.card {
	padding: var(--ui-space-5);
	border-radius: var(--ui-radius);
	transition: transform var(--ui-dur) var(--ui-ease-settle);
}

改版时只动令牌文件,全站跟着变。

好处不止于改版

  • 想检查「全站是不是出现了六种不同的灰色」时,扫一眼令牌文件就够了
  • 深色模式只是换一组变量,组件代码一行都不用改
  • 间距刻度固定之后,纵向节奏自然就稳了,不必每次凭手感调

代价

多了一层间接,写的时候要多想一步:这个值该不该进令牌。

判断标准很简单——第二个地方用到它的时候就抽出来。只出现一次的数值,留在原地更好读。