Figma 自动布局+组件变体:做一套可一键切换的按钮组件(含禁用/加载)

你将得到什么

本教程用一套“最小但够用”的结构,教你在 Figma 里做一个按钮组件:类型(主/次/文字)、尺寸(S/M/L)、状态(默认/悬停/按下/禁用)、以及“加载中”样式。做完后,你只需要在右侧属性面板点选,就能快速切换所有组合,不用复制粘贴。

准备:建立按钮的基础样式(Auto Layout)

  1. 新建一个 Frame,里面放一个 Text(例如:按钮)。
  2. 选中 Frame,开启 Auto Layout(Shift + A)。方向选 Horizontal。
  3. 设置内边距:左右 16,上下 10;间距(Spacing)8。
  4. 设置圆角(例如 8);描边/填充先随便给一个明显的颜色,便于观察。
  5. 文字样式建议:14/20,Medium;文字颜色先设白色。

做“尺寸”变体:S / M / L

  1. 复制这个按钮 2 份,得到三份按钮。
  2. 分别调整 Auto Layout 的 padding:

    S:左右 12,上下 8;M:左右 16,上下 10;L:左右 20,上下 12。

  3. 文字大小也可跟随变化(可选):S=12,M=14,L=16。

做“类型”变体:Primary / Secondary / Text

  1. Primary:填充用品牌色(如 #2F6BFF),文字白色,描边无。
  2. Secondary:填充白/透明,描边 1px 品牌色,文字品牌色。
  3. Text:无填充无描边,文字品牌色;padding 可略小一点(但建议仍保留可点击面积)。

提示:先只把“视觉差异”做出来,不要急着做状态。先把结构搭对,后面组合会更顺。

把它变成组件并组合变体(Variants)

  1. 选中三个尺寸按钮(S/M/L),右键 Create component
  2. 在右侧点 Add variant,把三份合并成一组 Variants。
  3. 给属性命名:

    size = S / M / L

  4. 再复制这组三个按钮两组,分别做成 Secondary 和 Text 的视觉样式。
  5. 把三组(Primary/Secondary/Text)也合并进同一组 Variants,并新增属性:

    type = Primary / Secondary / Text

做“状态”变体:Default / Hover / Pressed / Disabled

  1. 在同一组 Variants 中,为每个 type+size 再复制出 3 个状态(建议用批量复制再改样式)。
  2. 新增属性:state = Default / Hover / Pressed / Disabled
  3. 样式建议(按你的品牌微调):

    Hover:填充变亮一点或加 8% 黑色遮罩;Pressed:更深;Disabled:降低不透明度(例如 40%)并把鼠标指针交互交给开发处理。

做“加载中”样式:加一个可选的 Leading Icon

  1. 在 Auto Layout 的内容区域,文字左侧放一个 12x12 的小圆(或使用图标/Spinner)。
  2. 把这个图标包进一个 Frame,命名为 icon,并设置为固定宽高。
  3. 新增属性:loading = On / Off
  4. loading=Off:隐藏 icon;loading=On:显示 icon,并把按钮文案改成“加载中”(或保持原文案也行)。

交付给开发时怎么标注更省事

  1. 把颜色、字号、圆角都改成 Styles(Color styles / Text styles),开发能更快对齐设计系统。
  2. 在组件说明里写清楚属性含义:type/size/state/loading 的取值范围。
  3. 如果你们有多语言,建议把按钮文案留给实例层(不要写死在组件里)。

常见坑(避雷)

  1. 不要用“拉伸宽度”把按钮撑开:按钮通常应该由内容决定宽度,除非是表单里的全宽按钮。
  2. Disabled 不要只改透明度:Secondary/Text 可能还需要改描边/文字颜色,保证可读性。
  3. 变体属性命名尽量短且一致:type/size/state/loading 这种就很好。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

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

操作成功