📦 06 - 自动布局
自动布局(Auto Layout)是 Figma 最强大的功能之一,它让你的设计像 CSS Flexbox 一样自动排列和调整。掌握自动布局,你可以创建真正响应式的设计,大幅减少手动调整的工作量。本课从基础概念到高级技巧全面讲解自动布局的方方面面。
📌 本课要点
- 自动布局基础概念与添加方式
- 水平与垂直方向布局
- 间距、内边距与对齐详解
- 嵌套自动布局的构建方法
- 子元素尺寸控制:Fixed/Hug/Fill
- 自动布局与约束的配合使用
一、自动布局基础
自动布局让框架内的子元素按照规则自动排列,无需手动定位每个元素的位置。当内容变化(如文字变长、子元素增多),布局会自动调整——这就是"自动"的核心含义。自动布局的原理类似 CSS 的 Flexbox,如果你有前端开发经验,会非常容易理解。
1添加自动布局:选中一个框架或多个元素,按⇧+A,或右键→Add auto layout。框架会立即按规则排列子元素。✅验证通过
2基本效果:添加后,子元素会自动排列,默认垂直方向从上到下。元素之间的间距和内边距可以精确控制。✅验证通过
3调整方向:在右侧属性面板中,切换水平(Horizontal)或垂直(Vertical)方向。也可以选择反向排列。✅验证通过
二、布局属性详解
1. 方向(Direction)
2. 间距(Gap)
1设置间距:Gap 控制子元素之间的间距。输入数值如8、16等。这是最常用的间距控制方式。✅验证通过
2独立间距:点击间距旁的独立设置图标,分别设置水平和垂直间距。在双向排列时特别有用。✅验证通过
3. 内边距(Padding)
1统一内边距:Padding 输入一个数值,四边相同。如按钮的内边距通常设为12×24。✅验证通过
2独立内边距:点击独立设置图标,分别设置上下左右。常见用法:左右24px、上下16px。✅验证通过
4. 对齐(Alignment)
| 对齐方式 | 效果 | 典型用途 |
|---|
| Start | 对齐起点(左/上) | 默认对齐方式 |
| Center | 居中对齐 | 按钮、标签、提示 |
| End | 对齐终点(右/下) | 右对齐内容、操作栏 |
| Space Between | 两端对齐中间均匀 | 导航栏、工具栏 |
| Space Around | 均匀分布含两端半距 | 等间距按钮组 |
三、嵌套自动布局
自动布局可以嵌套使用,创建复杂的布局结构。外层框架控制大布局,内层框架控制小组件内部排列。这是创建真实 UI 界面的核心技巧。
1示例:卡片布局:外层垂直布局(图片+内容区+按钮行),内层水平布局(标签+标签),再内层垂直布局(标题+描述)。✅验证通过
2嵌套原则:从外到内思考布局——先确定页面大结构(如顶部导航+侧边栏+主内容),再细化每个区域内部排列。✅验证通过
嵌套自动布局示例
卡片(垂直自动布局,Gap:16,Padding:24)
├── 图片(Fill width)
├── 内容区(垂直自动布局,Gap:8)
│ ├── 标签行(水平自动布局,Gap:8)
│ │ ├── 标签1(Hug width)
│ │ └── 标签2(Hug width)
│ ├── 标题(Fill width)
│ └── 描述文字(Fill width)
└── 按钮行(水平自动布局,Gap:12,Space Between)
├── 次要按钮(Hug width)
└── 主要按钮(Hug width)
四、子元素尺寸控制
三种尺寸模式
| 模式 | 说明 | 行为 | 典型用途 |
|---|
| Fixed | 固定宽高 | 不随容器和内容变化 | 固定尺寸的图标、头像、间距 |
| Hug content | 包裹内容 | 尺寸随内容自动调整 | 按钮、标签、单行文本 |
| Fill container | 填充容器 | 填满父容器剩余空间 | 列表项、卡片内容、输入框 |
1设置 Hug:选中子元素,宽/高中选择 Hug content。按钮随文字长度自动调整宽度。✅验证通过
2设置 Fill:选中子元素,选择 Fill container。元素填满父容器剩余空间。✅验证通过
3混合使用:同一布局中可以混合三种模式。如水平布局中,左侧图标 Fixed,中间文本 Fill,右侧箭头 Hug。✅验证通过
五、自动布局与约束
1约束优先级:自动布局中,子元素的约束会影响其在容器内的对齐方式。✅验证通过
2布局约束 vs 定位约束:自动布局控制排列顺序和间距,约束控制特定情况下的定位行为。✅验证通过
3最小/最大尺寸:可以为子元素设置最小宽度和最大宽度,限制自适应范围。这在响应式设计中非常有用。✅验证通过
六、高级技巧
1绝对定位元素:在自动布局框架内,可以将某个子元素设为绝对定位(右键→Add absolute position),它脱离布局流但仍属于框架。适合徽标、关闭按钮等浮动元素。✅验证通过
2自动布局动画:在原型模式中,自动布局的变化可以设置动画效果。元素位置变化时平滑过渡。✅验证通过
3条件布局:结合组件变体,可以创建不同布局状态的组件。如"有图标"和"无图标"两种变体,自动布局自动调整间距。✅验证通过
💡 提示:自动布局是 Figma 最接近代码的功能。理解自动布局意味着你同时理解了 CSS Flexbox,这对设计和开发的沟通协作非常有帮助。
七、实战:创建完整组件
1按钮组件:矩形+文字,水平自动布局,Gap:8,Padding:12×24,Hug宽度。✅验证通过
2列表项组件:框架+图标+文字+箭头,水平自动布局,Fill宽度,垂直居中。✅验证通过
3导航栏组件:框架+Logo+多个链接+按钮,水平自动布局,Space Between,Fill宽度。✅验证通过
4卡片组件:垂直自动布局,嵌套水平自动布局的标签行和按钮行,图片 Fill 宽度。✅验证通过
🎯 练习
- 用自动布局创建3种尺寸的按钮组件
- 创建包含图片、标题、描述和按钮的卡片
- 实现嵌套自动布局的导航栏
- 用 Fill 和 Hug 创建自适应列表项
- 创建一个包含绝对定位徽标的组件
📦
自动布局专家
完成本课学习,你已经掌握了自动布局的核心技能!
七、延伸阅读与资源
📚 推荐学习资源
- Figma官方文档:help.figma.com — 最权威的参考
- Figma社区:community.figma.com — 海量模板和插件
- YouTube教程:Figma官方频道和设计博主
- 设计系统案例:Ant Design、Material Design、Apple HIG
- 实践社区:Dribbble、Behance、站酷
🔑 关键快捷键回顾
| 操作 | Mac | Windows |
|---|
| 编组 | ⌘+G | Ctrl+G |
| 取消编组 | ⌘+⇧+G | Ctrl+Shift+G |
| 创建组件 | ⌥+⌘+K | Ctrl+Alt+K |
| 自动布局 | ⇧+A | Shift+A |
| 复制 | ⌘+D | Ctrl+D |
💡 自动布局常见问题 FAQ
- Q: 自动布局和编组有什么区别? A: 编组只是逻辑组合,不会自动排列。自动布局会按规则排列子元素,还能响应内容变化。
- Q: 可以在自动布局中使用绝对定位吗? A: 可以!右键子元素→Add absolute position,该元素脱离布局流但仍在框架内。
- Q: 自动布局和CSS Flexbox有什么关系? A: 原理完全一致!Figma的自动布局对应CSS的Flexbox,概念和属性几乎一一对应。
- Q: 如何让自动布局的框架自适应内容? A: 设置框架的宽高为 Hug content,框架会根据子元素自动调整尺寸。
- Q: 自动布局支持网格布局吗? A: Figma的自动布局是线性布局(水平或垂直),不支持CSS Grid。网格效果需要嵌套多个自动布局实现。