Skip to content

设计 Token

所有 Token 以 CSS 变量形式暴露在 :root,可以在任意层级覆盖。

配色

中性色阶

Token色值用途
--color-neutral-950#0D0D0D主标题、最深文本
--color-neutral-700#374151正文文本
--color-neutral-500#6B7280次要文本、占位符
--color-neutral-300#D1D5DB边框、分割线
--color-neutral-100#F3F4F6悬浮背景、斑马纹
--color-neutral-50#F5F5F4页面背景

强调色

Token色值用途
--color-accent#9ebbde主按钮、焦点环、选中态
--color-accent-light#7299a0悬浮态
--color-accent-subtlergba(158,187,222,0.12)标签背景、focus ring

动画

缓动曲线

Token曲线适用
--ease-springcubic-bezier(0.34, 1.56, 0.64, 1)弹跳、缩放
--ease-smoothcubic-bezier(0.25, 0.1, 0.25, 1)状态过渡
--ease-outcubic-bezier(0.0, 0.0, 0.2, 1)弹层进入

时长

Token时长场景
--duration-fast160ms颜色、透明度
--duration-base220ms状态切换
--duration-enter320ms弹层、抽屉

间距(4px 基准)

Token
--space-14px
--space-28px
--space-312px
--space-416px
--space-624px
--space-832px
--space-1248px

密度

Token默认值说明
--density-factor1间距缩放因子。桌面端推荐 0.75。覆盖此变量即可全局紧凑

圆角

Token组件
--radius-sm6pxTag, Badge
--radius-md9pxInput, Button
--radius-lg14pxCard, Modal
--radius-full9999pxRadio, Avatar

阴影

Token用途
--shadow-smCard 默认态
--shadow-mdCard hover、下拉菜单
--shadow-lgModal、Drawer
--shadow-xl全局 Toast

暗色主题

在父容器(如 htmlbody)设置 data-theme="dark" 即可切换暗色模式。

html
<html data-theme="dark">

暗色模式下自动切换的 Token:

Token亮色暗色
--color-neutral-950#0D0D0D#F5F5F4
--color-neutral-700#374151#D1D5DB
--color-neutral-500#6B7280#9CA3AF
--color-neutral-300#D1D5DB#4B5563
--color-neutral-100#F3F4F6#1F2937
--color-neutral-50#F5F5F4#111827
--color-accent-subtlergba(…,0.12)rgba(…,0.2)
所有阴影亮背景阴影暗背景阴影

其余 Token(强调色、动画、间距、圆角)在暗色模式下保持不变。

自动跟随系统

结合 CSS 的 prefers-color-scheme 可以实现自动切换:

css
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; }
  html { background: #111827; }
}

MIT License