开学特惠 会员低至4.4折 限时加赠 10000 AI积分 立即前往 arrow

Design Token 是什么?从颜色、字号到组件与代码的落地方法

文章目录
免费使用墨刀
更新时间: 2026年09月21日

Design Token(设计令牌)是把设计决策抽成“有名字、可复用、能跨工具传递”的最小单元。颜色、字号、间距、圆角、阴影这些反复出现的选择,一旦被命名成 token,同一套决定就能同时作用在设计稿、组件库和前端代码上;改一次,三处一起变,而不是靠人去逐个替换。

它和站内常说的“设计变量”是同一件事的两个视角:设计变量偏工具里的功能与操作,token 偏工程侧的规范与传递。先在工具里把变量建起来,是理解 token 最直观的入口,可参考什么是设计变量;本文重点讲 token 怎么分层、怎么命名、怎么落地到组件与代码。

先分清三个容易混的概念

概念回答的问题典型形态
设计变量这个值在工具里叫什么、怎么改颜色变量、文本变量、数值变量
Design Token这个决定怎么跨设计稿与代码统一传递分层的命名集合 + 可导出的值
组件属性这个组件在不同场景怎么表现尺寸、状态、是否带图标

简单说:变量是“值”,token 是“有约定含义的值”,组件属性是“组件允许你改什么”。三者经常一起出现,但职责不能混:把组件属性当 token 用,会让 token 表迅速膨胀。

三层结构:基础值、语义、组件

token 的价值来自分层。同一份颜色只维护一次,越往上越贴近业务,越往下越稳定。

Design Token 的三层结构:基础值、语义层、组件层的例子、改动频率与注意事项
基础值保证稳定,语义层承载含义,组件层承接具体场景。
层级例子改动频率
基础值blue-600、gray-100、size-16几乎不改,只在品牌规范调整时变
语义text-primary、bg-surface、border-subtle较低,语义含义稳定
组件button-bg-primary、input-border-error随组件调整,但不直接写色值

判断分层是否合理,用一个问题就能测:换主题时,需要改动的 token 是不是集中在语义层?如果需要挨个改组件 token,说明层级还没拆开。

命名规则:能读、能搜、能换主题

  • 用含义不用外观:用 text-primary 而不是 dark-gray,否则换主题时名字会骗人。
  • 按“类别-用途-程度”排列:bg-surface、bg-surface-hover、text-danger-strong,顺序固定才搜得到。
  • 不在名字里写具体值:不要出现 blue-按钮 这类混写,值放右边,名字只描述用途。
  • 组件层带组件前缀:button-、input-、table-,让归属一目了然。

token 在工具里长什么样

落到工具里,token 通常以一个集中管理的列表存在:名称、类型、当前值,加上按类型分组的入口。集中管理的意义是让“改值”和“用值”分离,避免每个页面各自定义。

设计工具中的变量集列表:颜色、文本等变量集中管理并显示当前值
token 在工具里是一个集中管理的列表:名称、类型与当前值分开维护。

如果团队已经在用变量管理颜色、字号,下一步不是新建一套 token 表,而是把命名和分层补齐;颜色变量的实操路径可参考颜色变量实战教程

token 从设计到代码的四步流程:定值命名、导出结构化数据、映射为代码变量、组件引用变量
四步里任何一步靠手抄值补上,下次换主题都会失效。

从设计到代码:token 怎么传下去

token 从设计侧到代码通常走四步:设计侧定值并命名 → 导出成结构化数据 → 前端映射为变量或主题配置 → 组件只引用变量。任何一步用“手抄值”补上,都会在下次改主题时失效。

验收方式是看改动成本:换一次品牌色,理想状态只改基础值或语义层,页面、组件和代码同步生效;如果还要逐个页面调整,说明中间某一步仍然写死了具体值。

多主题为什么靠 token 才成立

深浅模式、多品牌、多端密度,本质都是同一套语义在不同取值下的组合。做法是给语义 token 增加“模式”维度,让同一个名字在不同模式下取不同值,页面与组件不需要知道自己处在哪个主题里。

变量集为同一组语义配置浅色模式与深色模式两列取值
多主题靠“同名字、不同模式取值”实现,页面不需要知道自己处在哪个主题。

这也是 token 与普通样式表最大的区别:样式表描述“现在长什么样”,token 描述“在什么条件下取什么值”。多主题切换的完整做法,可参考深浅主题切换怎么设计

四种常见失效场景

场景表现修正方向
值被写死组件里直接填色值,换主题后不变绑定到语义 token,禁止直接填值
命名失控同色出现 5 种叫法,搜不到固定命名顺序,集中评审
层级颠倒组件 token 被页面直接引用页面只引用语义层,组件内部再向下取用
缺少单一来源设计和代码各维护一份值指定唯一来源,导出而不是手抄

落地顺序:从 10 个语义 token 开始

  • 第一步:统计现有页面里重复出现的颜色、字号、间距,选出最高频的 10 个。
  • 第二步:为它们建立基础值与语义两层,先在一条真实业务链路上替换。
  • 第三步:把替换结论写进组件规范,禁止组件内部出现具体数值,做法可参考组件库治理
  • 第四步:补上导出与代码映射,让设计与前端共用一份来源。

整条路径和设计系统本身的搭建顺序是一致的,模块、变量与评审机制的完整关系可参考设计系统怎么搭建

Design Token 落地检查清单

维度检查项
分层基础值、语义、组件三层齐全,页面只引用语义层
命名按固定顺序命名,名字描述用途而非外观
绑定组件与页面元素均绑定 token,无写死具体值
模式深浅主题通过模式取值,而非复制一整套组件
来源设计与代码共用一份来源,通过导出同步
维护新增 token 有评审与命名规则,废弃 token 有替代方案

常见问题

Design Token 和 CSS 变量是一回事吗?

不是。token 是设计与工程共用的命名约定,CSS 变量只是它在网页端的一种落地形式;同一个 token 在小程序、原生端或主题配置里可以有不同实现。

小团队需要一开始就做完整 token 体系吗?

不需要。先做 10 个左右高频语义 token,覆盖颜色和字号即可;规模扩大后再补基础值与组件层,避免一开始就陷入命名讨论。

已经有了组件库,还需要单独管 token 吗?

需要。组件库解决结构复用,token 解决取值统一:两者分开管理,换主题时才不会挨个改组件。

总结

Design Token 的本质是把设计决策变成可复用、可传递、可切换的命名值:基础值保证稳定,语义层承载含义,组件层承接具体场景,再通过导出让设计与代码共用一份来源。先做 10 个高频语义 token、替换一条真实链路,比一次性设计完整体系更容易落地。

免费在线原型设计工具

内容丰富组件拖拽即用

多人在线编辑实时协作

海量模板素材快速复用

一键分享交付在线评论互动