Figma 实战:用 Auto Layout + 组件属性做一套可复用按钮(含状态/尺寸)

目标:做一个可复用的按钮组件

我们用 Figma 做一个 Button 组件,支持:Primary/Secondary/Tertiary 三种类型;S/M/L 三种尺寸;默认/悬停/按下/禁用四种状态;可选左图标;可选加载态。最终你会得到一个可以直接塞进设计系统的按钮库。

准备:创建按钮的基础样式

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

2)对 Frame 打开 Auto Layout(Shift+A),方向选 Horizontal。

3)Padding 建议:左右 16,上下 10;Item spacing 8;对齐方式居中。

4)给按钮背景填充颜色(例如 #2563EB),圆角 10;文字使用 14/Medium。

5)把文字图层命名为 Label,避免后续找不到。

步骤 1:把按钮变成组件 + Variant 组合

1)选中 Button/ → Create component。

2)把组件做成 Component set,创建 Variant:Type=Primary/Secondary/Tertiary。

3)再添加 Variant:Size=S/M/L;不同 Size 主要改 Padding 与字体大小(例如 S=12px 字体,L=16px 字体)。

4)再添加 Variant:State=Default/Hover/Pressed/Disabled;通过填充色/描边/透明度区分状态。

步骤 2:加入可选图标(Boolean property)

1)在按钮 Auto Layout 内,Label 左侧放一个 Icon 占位(16x16)。

2)把 Icon 图层命名为 Icon,并将其创建为 Boolean property:Has icon=true/false。

3)Has icon=false 时隐藏 Icon;同时保持 Item spacing 不变,让布局自动收缩。

步骤 3:加入加载态(Boolean + 覆盖 Label)

1)新增一个 Spinner 图层(也可用简单圆形描边旋转),命名为 Loading。

2)设置 Boolean property:Loading=true/false。

3)Loading=true 时:显示 Spinner;可选隐藏 Label 或把 Label 文案改为“加载中…”。建议隐藏图标,避免按钮过挤。

步骤 4:用 Styles/Variables 统一圆角与间距(可选但强烈推荐)

1)把圆角、Padding、字体做成可复用的变量或样式:例如 radius/button=10,space/button-x=16。

2)以后你改一处,所有按钮都会同步。

步骤 5:做交互(Prototype)快速预览状态切换

1)在组件集里为 Default 变体添加交互:While hovering → Change to Hover;While pressing → Change to Pressed。

2)Disabled 不需要交互;保证对比度与可读性即可。

检查清单(发布前自查)

• 文案是否居中且不会被撑爆(建议 Label 设为 Hug contents)。

• 图标隐藏时,按钮宽度是否自动收缩。

• Loading=true 时,布局是否仍然居中且不跳动。

• 各状态颜色是否满足可读性(尤其是 Disabled)。

你可以怎么扩展

• 增加 Danger/Success 类型;

• 增加 Icon-only 按钮;

• 增加左右两侧图标;

• 用 Instance swap 切换不同图标库。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

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

操作成功