做前端时间久了,最常遇到的一个问题就是“改不动样式”:同一个颜色散落在十几个文件里,改了这边漏了那边;间距全凭感觉,页面越做越乱。后来我开始用 CSS 变量搭建一套“设计令牌”(Design Tokens),维护成本立刻降了下来。

什么是设计令牌

设计令牌,就是把设计里反复出现的值——颜色、字号、间距、圆角——抽象成带语义的名字,统一管理。比如不写 #2E5E4F,而是写 var(--accent);不写 24px,而是写 var(--space-4)

好处显而易见:想换主题色,只改一个变量;想让间距统一,只调一层定义。视觉的一致性,从源头就有了保障。

怎么组织

我习惯把令牌分成两层:

  • 基础层:原始值,如色板、字阶、间距刻度,用 --c-*--fs-*--sp-* 命名;
  • 语义层:用途值,如 --text-primary--bg-surface--radius-card,指向基础层。

页面里尽量只使用语义层,这样即使换肤、换主题,组件代码一行都不用动。

收益

半年实践下来,最大的收获是:改样式变成了一件有把握的事。深夜改 bug 时不再需要满项目找颜色,新同事接手也能快速理解设计规则。设计令牌不是炫技,它只是把“让视觉保持整洁”这件事,变成了工程上可维护的动作。