做完这套教程,你会在一个 Figma 文件里搭好「可交付」的按钮组件系统:主按钮/次按钮/危险按钮,默认/悬停/按下/禁用状态,并且可以通过变量一键切换浅色/深色主题。后续做新页面时,直接拖组件就能统一样式与交互。
建议版本:Figma Desktop + 已开启 Variables 功能。
创建页面结构:在文件里建 3 个 Page:Tokens / Components / Demo。
命名约定(越早统一越省事):
color.bg.primary color.bg.secondary color.bg.danger color.text.onPrimary radius.button space.buttonX space.buttonY进入 Tokens 页,新建一个 Variables Collection,名字叫 Theme,并创建两个 Mode:Light / Dark。
先从按钮最关键的颜色开始做(后面可扩展):
然后再补齐尺寸类 Token(Number 类型变量):
进入 Components 页,画一个按钮容器 Frame,开启 Auto Layout:
放一个文字层,命名为 Label,字重建议 500/600。按钮圆角绑定 radius.button。
把按钮母版做成组件,然后做 Component Set,Variant 属性建议这样拆:
type = primary | secondary | danger state = default | hover | pressed | disabled icon = off | on (可选)这样拆的好处是:以后加新状态/新类型都不会打乱命名;开发也更容易对齐。
分别选中不同 Variant,把填充与文字颜色绑定到对应的变量:
状态怎么做? hover/pressed 可以用同一变量 + 调整不透明度(例如 hover 90%、pressed 80%),或者为每种状态再加变量(更严谨,适合设计系统)。disabled 建议:背景/文字用灰阶变量,并降低对比。
进入 Demo 页,拖几颗按钮出来。选中画板或组件实例,在右侧找到 Variables 的 Mode 切换:从 Light 切到 Dark。只要你绑定正确,按钮应该会“整体换肤”,而不是逐个手改颜色。
在组件旁边放一块说明(Text),复制下面模板,开发拿到就能快速落地:
按钮组件:Button Variants: - type: primary | secondary | danger - state: default | hover | pressed | disabled Tokens: - color.bg.primary / secondary / danger - color.text.onPrimary / onSecondary - radius.button - space.buttonX / space.buttonY 交互:hover/pressed 仅改变视觉(opacity 或 token)