Figma 自动布局进阶:用 Auto Layout 做可伸缩按钮与卡片(从 0 到可复用组件)

你将做出什么效果

用一套 Auto Layout 规则,做出两种组件:

1)按钮:文案再长也不挤压内边距,左右留白一致,最小宽度可控。

2)卡片:标题/描述可多行,图片与内容区间距稳定,卡片宽度随容器拉伸。

准备工作(3 分钟)

推荐版本:Figma 桌面端或网页版均可。

新建页面:创建一个 Frame(例如 1440x900),方便观察响应式变化。

统一单位:后续示例用 8px 栅格(8/16/24/32)。

第一部分:做一个“可伸缩按钮”

Step 1:建立按钮容器

新建一个 Frame(命名 Button),选中后点击 Auto Layout(Shift+A)。方向选 Horizontal

Step 2:设置间距与内边距

在右侧面板设置:

Padding:左右 16,上下 10(可按你的设计系统调整)

Item spacing:8(图标与文字间距)

Step 3:放入图标与文字

插入一个 16x16 的图标(可用任意占位形状),再插入文字(Text)。

关键点:文字层建议设为 Auto width,避免被强行换行。

Step 4:让按钮在容器里“该伸就伸”

选中按钮容器(Button):

Width 行为选择 Hug contents(内容多就变宽)

如果你希望按钮在某些场景占满容器,可将按钮放进父级 Auto Layout,并把按钮的 Width 设为 Fill container

Step 5:设置最小宽度(防止太窄)

在按钮容器的宽度输入框里,点击右侧的小三角,设置 Min width(例如 120)。

这样短文案也会保持一致的视觉重量。

第二部分:做一个“可拉伸卡片”

Step 1:卡片外框

新建 Frame(命名 Card),启用 Auto Layout(Vertical)。

Padding:16;Item spacing:12;圆角:12;描边:1px(浅灰)。

Step 2:顶部图片区(可选)

插入一个 Rectangle 作为封面(例如高度 160)。把它放到 Card 的第一行。

选中封面:Width 设为 Fill container,让它随卡片宽度拉伸。

Step 3:内容区(标题 + 描述 + 按钮)

新建一个 Frame(命名 Content),启用 Auto Layout(Vertical)。

Item spacing:8;Width:Fill container

在 Content 里放入:

1)标题 Text(建议 Auto height,允许换行)

2)描述 Text(Auto height,多行)

3)按钮组件(上一部分做的 Button)

Step 4:让按钮对齐到右侧(常见卡片 CTA)

有两种做法:

A)给按钮外面包一层 Horizontal Auto Layout 行,把行 Width 设为 Fill container,然后把对齐设为 Space between 或把按钮设为右对齐。

B)把按钮所在行的对齐方式设为右对齐(更简单)。

第三部分:组件化与变体(让你越做越快)

Step 1:把 Button 做成 Component

选中 Button → Create component(Ctrl/Cmd + Alt + K)。

Step 2:做 3 个常用变体

建议变体属性:

Type:Primary / Secondary / Ghost

State:Default / Hover / Disabled

图标:On / Off

Step 3:文本与图标的可替换规则

在组件实例中,直接替换文本内容即可;图标建议使用实例可替换(Swap instance)。

排错清单(遇到问题先看这里)

1)文字被压扁或变成省略号

检查文字层的 Resizing,优先用 Auto width(按钮)或 Auto height(标题/描述)。

2)卡片拉伸时图片不跟着变宽

检查封面矩形是否为 Fill container;如果在普通 Frame 里,确认约束为 Left & Right。

3)间距忽大忽小

确保父级是 Auto Layout,并只用一种规则控制间距:要么 Item spacing,要么单独给元素加 padding,不要混用太多。

你可以如何扩展(建议下一步)

把 Card 做成组件后,再加两个变体:

1)含封面 / 不含封面

2)单按钮 / 双按钮(主次 CTA)

再配合栅格布局(Layout grid),就能快速搭建完整的响应式卡片列表。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

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

操作成功