Figma 10分钟做出可复用按钮组件:变量+自动布局一步到位

适用场景

当你需要在多个页面保持按钮一致性(颜色、圆角、间距、字号、状态),用组件做“只改参数不改样式”的按钮是最省时间的。下面这套方法不依赖复杂插件,10分钟就能搭好骨架。

准备:建立按钮基础样式

1)新建一个 Frame,命名为 Button/

2)给 Frame 开启 Auto Layout:方向 Horizontal,Padding 12/16(上下/左右),Item spacing 8。

3)放入一段文字(Text),命名为 Label,设置字号 14、行高 20、字重 500。

4)Frame 圆角设 8,最小高度建议 40(根据项目规范调整)。

核心:用变量(Variables)参数化颜色与尺寸

1)打开 Variables 面板,新建 Collection:Button

2)创建颜色变量:

- btn/bg/primary:主按钮背景色

- btn/bg/primary_hover:悬停背景色

- btn/bg/primary_pressed:按下背景色

- btn/bg/disabled:禁用背景色

- btn/text/on_primary:主按钮文字色

- btn/text/disabled:禁用文字色

3)创建数值变量(Number):

- btn/radius:圆角(例如 8)

- btn/padding_y:上下内边距(例如 10~12)

- btn/padding_x:左右内边距(例如 16)

- btn/gap:图标与文字间距(例如 8)

4)把这些变量绑定到 Button/ 上:圆角绑定 btn/radius;Padding 绑定 btn/padding_y / btn/padding_x;Item spacing 绑定 btn/gap;文字颜色绑定 btn/text/on_primary。

建立状态:默认 / 悬停 / 按下 / 禁用

1)把 Button/ 转成组件(Create component),命名 Button

2)添加 Variant 属性:State,值:Default / Hover / Pressed / Disabled。

3)分别为各状态绑定背景变量:

- Default → btn/bg/primary

- Hover → btn/bg/primary_hover

- Pressed → btn/bg/primary_pressed

- Disabled → btn/bg/disabled,同时文字颜色切换为 btn/text/disabled

4)交互(Prototype):

- While hovering → 切到 Hover

- While pressing → 切到 Pressed

这样在预览里就能看到真实的状态反馈。

扩展:尺寸与图标的可选项

1)再加一个 Variant 属性:Size(S / M / L)。

2)用不同的 padding 与字号(或绑定到变量)实现三档尺寸。建议:S=32高,M=40高,L=48高。

3)如果按钮需要图标:在 Auto Layout 里放一个 Icon(可用 16/20/24),并把 Icon 的可见性做成布尔属性(Property)。

检查清单(避免组件失控)

- Auto Layout 设为 Hug contents;按钮容器不要写死宽度(除非是表单主按钮)。

- Label 文本使用 Auto width,避免多语言溢出。

- 所有颜色尽量来自变量,不要直接选色。

- 命名统一:Button/Primary、Button/Secondary 等,方便团队搜索与维护。

你可以直接照抄的变量命名模板

btn/bg/primary, btn/bg/primary_hover, btn/bg/primary_pressed, btn/bg/disabled

btn/text/on_primary, btn/text/disabled

btn/radius, btn/padding_y, btn/padding_x, btn/gap

做完这一套后,你只需要改变量值,就能一键换主题或适配不同品牌色。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功