1. 项目概述:为什么网格系统是设计的基石
如果你刚开始用Figma,或者已经用它画了几个页面,但总觉得元素摆放得有点“飘”,对不齐,或者在不同尺寸的屏幕上预览时布局就乱了套,那你大概率是还没用上,或者没用好网格系统。这不是你的问题,很多设计师,甚至一些有经验的老手,也常常会忽略这个看似基础但至关重要的环节。
网格系统,简单来说,就是你在画布上铺设的一张隐形的坐标纸。它由一系列等距的垂直列、水平行以及它们之间的间距(Gutter)和边距(Margin)构成。它的核心价值在于 建立秩序和一致性 。想象一下盖房子,如果没有水平和垂直的基准线,砖块能砌得整齐吗?网格系统就是设计的基准线。它能帮你快速对齐元素,确保间距统一,更重要的是,它为响应式设计提供了可预测的框架——你知道当容器宽度变化时,里面的内容该如何优雅地“流动”和“重组”。
在Figma里调出并配置网格系统,远不止是点击一个按钮。它涉及到你对项目类型(是Web端、移动端还是大屏?)、设计规范(比如是否遵循8点网格原则)以及团队协作需求的深刻理解。接下来,我不会只告诉你按钮在哪,我会带你走一遍从零开始,为一个多端适配的Web项目搭建一套专业、可复用的响应式网格系统的完整流程,并分享那些只有踩过坑才知道的实操细节。
2. 网格系统核心思路与设计决策
在动手之前,盲目地添加网格往往事倍功半。你需要先回答几个关键问题,这决定了你后续所有配置的参数。
2.1 确定设计基准:8点网格还是自由尺度?
这是第一个也是最根本的决策点。 8点网格(8-Point Grid System) 是现代UI设计,尤其是数字产品设计中一个被广泛采用的基础原则。它建议所有尺寸(间距、边距、组件大小、图标大小)都使用8的倍数(如8, 16, 24, 32, 40, 48…)。这么做的优势非常明显:
- 一致性 :确保整个界面的节奏感统一,视觉上更和谐。
-
开发友好
:在CSS中,
rem、px单位换算非常方便,减少设计师与工程师之间的沟通成本。 - 适配性 :在响应式布局中,按8的倍数进行缩放,能更好地适应不同倍数的屏幕(如@1x, @2x, @3x)。
如果你的项目是全新的,或者团队有明确的设计系统规范,我强烈建议从8点网格开始。这会让后续的所有决策(边距、间距、组件尺寸)都有据可依。
当然,也存在一些例外。比如,某些品牌有特殊的数字规范,或者你在进行一些非常艺术化、非标准化的视觉探索时,可以暂时跳出这个框架。但请记住,一旦决定使用8点网格,就要在整个项目中坚决贯彻,否则就失去了它的意义。
2.2 定义响应式断点与栅格列数
接下来,你需要为不同的设备定义布局框架(Frame)和对应的网格结构。这不是随意决定的,通常需要参考主流的设备分辨率和开发框架(如Bootstrap, Tailwind CSS)的约定。
一个常见的多端响应式策略如下:
| 设备类型 | 典型框架宽度 (px) | 推荐栅格列数 | 设计考量 |
|---|---|---|---|
| 桌面端 (Desktop) | 1440, 1280 | 12列 | 12是高度可分解的数字(可被2、3、4、6整除),布局灵活性极高,适合内容丰富的后台、官网首页等。 |
| 平板端 (Tablet) | 768, 1024 | 8列 | 屏幕宽度减小,减少列数以保持列宽不至于太窄,同时保持足够的布局灵活性。 |
| 移动端 (Mobile) | 375 (iPhone), 390 | 4列 | 竖屏空间有限,4列足以应对大多数移动端布局模式(如列表、卡片流),结构清晰。 |
这里的“框架宽度”指的是你的设计画布(Frame)的宽度。通常,我们不会直接按浏览器全宽(如1920px)来设计,而是设定一个“容器(Container)”的最大宽度,内容在其中居中显示。例如,桌面端容器宽度常设为1152px或1170px,两侧留出边距(Margin)。
2.3 理解Figma中三种网格类型
在Figma右侧面板的“设计”标签页下,点击“布局网格”旁的“+”号,你会看到三种类型:
- 网格 (Grid) :最基础的等距点阵网格,就像坐标纸。主要用于图标、插画等元素的微观对齐,在构建宏观的页面布局栅格时较少使用。
- 列 (Columns) : 这是构建页面布局骨架的核心。 它创建垂直的列,用于控制内容的水平分布。你可以设置列数、列宽、间距(Gutter)和边距(Margin)。
- 行 (Rows) :创建水平的行,用于控制内容的垂直节奏和间距。可以设置行高、间距等。
对于响应式网页设计,我们主要搭配使用 “列”网格 来构建水平栅格系统,并用 “行”网格 来辅助规范垂直间距。接下来,我们就进入实操环节。
3. 从零开始:搭建桌面端12列栅格系统
让我们以最常见的桌面端设计(容器宽度1152px)为例,一步步搭建一个基于8点网格的12列栅格。
3.1 创建画布与基础框架
首先,使用框架工具(
F
)创建一个Frame。在右侧的预设尺寸中,你可以选择“Desktop(1440x1024)”,但我会建议你
自定义尺寸
。
-
将宽度(W)设置为
1440。这模拟了常见的浏览器视口宽度。 -
高度(H)可以先设为一个较大的值,比如
1600,方便后续设计。
现在,我们有了一个1440px宽的画布。但我们的内容不会占满整个宽度,而是放置在一个居中的容器里。这个容器的宽度,就是我们栅格系统实际作用的范围。
3.2 配置核心列网格参数
选中你创建的Frame,在右侧“设计”面板找到“布局网格”,点击“+”,选择“列”。这时你会看到一系列参数:
-
类型 (Type)
:这是关键!你有三个选项:
- 居中 (Center) :列和间距的总宽度固定,整体在框架内居中。 不推荐用于响应式布局 ,因为容器宽度变化时,列本身不会伸缩。
- 拉伸 (Stretch) :列宽会拉伸以填满整个框架宽度(减去边距)。这是 实现响应式布局必须选择的类型 。当你的Frame(或开发中的容器div)宽度改变时,列宽会自动按比例缩放,而间距(Gutter)保持不变。
- 左侧 (Left) :网格从左对齐。同样不适用于响应式。
选择“拉伸”。
-
数量 (Count)
:输入
12。 -
间距 (Gutter)
:这是列与列之间的空隙。根据8点网格原则,一个常见且舒适的值是
24。它足够大,能清晰区分不同列的内容区块,又是8的倍数。 - 边距 (Margin) :这是网格开始和结束的位置与Frame边缘的距离。 注意 :这里的边距不是指你内容的边距,而是栅格系统的边界。我们需要计算一下。
我们的目标是:在1440px的Frame内,有一个1152px宽的内容容器,且容器左右边距相等。
-
容器宽度:
1152px -
总边距 = 框架宽度 - 容器宽度 =
1440 - 1152 = 288px -
单侧边距 = 总边距 / 2 =
288 / 2 = 144px
所以,将边距设置为
144
。
重要提示 :在“拉伸”类型下,你设置的“边距”是左右两侧的总和。Figma会自动将其平均分配到两侧。因此,我们输入
144,它就会在左右各生成144px的边距区域。网格系统将在中间的1152px(1440-144*2)区域内生效。
设置完成后,你应该立刻看到画布上出现了12条垂直的蓝色参考线,它们均匀分布在中间的1152px区域内,每条参考线之间相隔24px(Gutter)。
3.3 添加辅助行网格规范垂直节奏
列网格控制了水平布局,垂直方向我们也需要规范。添加一个行网格来建立垂直基准线。
再次点击“布局网格”的“+”,这次选择“行”。
- 类型 :选择“顶部(Top)”,让网格从顶部开始。
-
高度
:根据8点网格,设为
8。这意味每一行的高度是8px。 -
间距
:同样设为
8。这样行与行之间也有8px的间隔,形成一个8px为单位的密集网格。 -
数量
:这里有个技巧。如果你设一个固定数值,当画布滚动或Frame变长时,网格可能不够用。我通常直接设一个很大的数,比如
999。Figma会生成足够多的行覆盖整个可视及可滚动区域。 -
偏移量
:设为
0,从顶部开始。
现在,你的画布上布满了水平和垂直的浅蓝色网格线。 列网格(蓝色实线)是我们布局的骨架,要严格遵守;行网格(蓝色虚线)更多是垂直间距的参考,比如确保段落行高、组件间距是8的倍数。
4. 扩展与适配:创建平板与移动端网格
一套专业的设计系统需要覆盖所有终端。利用Figma的复制和修改功能,可以快速生成其他断点的网格。
4.1 快速创建平板端网格
-
新建一个Frame,宽度设为
768px(典型平板竖屏宽度)。 -
复制桌面端的网格
:选中之前配置好网格的桌面Frame,在右侧“布局网格”区域,你会看到“列”和“行”两个子项。按住
Cmd/Ctrl键,分别点击它们,然后Cmd/Ctrl+C复制。 -
粘贴到平板Frame
:选中新建的平板Frame,
Cmd/Ctrl+V粘贴。你会发现行网格完全适用(因为垂直节奏规则不变),但列网格的参数需要调整。 -
修改平板端列网格
:点击平板Frame下“布局网格”中的“列”设置。
-
数量
:从12改为
8。平板空间较小,8列足够灵活。 -
边距
:平板通常需要更大的安全边距。一个常见的值是
32(8的4倍)。将边距设置为32。 -
间距
:可以保持
24,也可以略微缩小以适应更窄的容器。我们改为16(8的2倍),让布局更紧凑。 - 类型 :确保仍是“拉伸”。
-
数量
:从12改为
现在,平板端的8列栅格就设置好了。它的有效内容区域宽度是
768 - 32*2 = 704px
。
4.2 快速创建移动端网格
重复类似过程:
-
新建一个Frame,宽度设为
375px(iPhone 13/14标准宽度)。 - 将桌面或平板Frame的网格(尤其是行网格)复制过来。
-
修改移动端的列网格设置:
-
数量
:设为
4。移动端布局通常更简单,4列是黄金标准。 -
边距
:设为
16。移动端屏幕小,但触摸操作需要安全距离,16px是最小推荐值,也是8的倍数。 -
间距
:同样设为
16。在移动端,列间距和边距使用相同数值很常见,使布局更统一。 - 类型 :保持“拉伸”。
-
数量
:设为
移动端的有效内容区域宽度为
375 - 16*2 = 343px
。
至此,你已经拥有了一套完整的、覆盖桌面(12列)、平板(8列)、移动端(4列)的响应式栅格系统。你可以将这三个带有网格的Frame保存为“样式框架”或组件,作为所有页面设计的起点。
5. 高级技巧与实战应用指南
仅仅调出网格是不够的,如何高效利用它才是关键。
5.1 使用自动布局与网格的完美配合
Figma的 自动布局(Auto Layout) 功能与网格系统是天作之合。当你为一个按钮或卡片组件启用自动布局时,其内部的填充(Padding)和间隙(Gap)应遵循网格基准(如8px或4px)。
更强大的是,在画布上排列多个使用自动布局的组件时,你可以开启“智能对齐”(Smart Selection),并确保“网格”对齐选项被启用。这样,当你拖动组件靠近网格线时,它会自动吸附对齐,保证所有元素都严格落在栅格上。
5.2 创建布局网格样式以提高效率
如果你需要频繁使用同一套网格参数(比如团队有统一的设计系统),每次都手动配置太麻烦。Figma允许你将网格设置保存为 样式 。
- 配置好一个完美的网格(比如桌面的12列网格)。
- 在右侧“设计”面板,找到“布局网格”区域。
- 点击顶部的四个小点图标,选择“创建样式”。
- 给它命名,如“Grid / Desktop / 12 Col”。
- 之后,在任何Frame上应用“布局网格”时,可以直接从样式库中选择这个预设,一键应用。
5.3 利用约束实现真正的响应式
网格定义了容器,而 约束(Constraints) 定义了容器内元素的行为。这是将静态设计图转化为可交互原型和开发代码的关键桥梁。
- 对于一个位于两列之间的卡片,你应该将其左右两侧分别约束到对应列的参考线上(约束设置为“左和右”或“缩放”)。
- 对于始终居中显示的图标,约束设置为“居中”。
- 对于固定在底部的导航栏,约束设置为“下”。
在配置网格的Frame内设计时,务必为每个图层设置正确的约束。这样,当你演示或在不同的Frame尺寸间切换时,元素才会按照你预设的逻辑进行缩放和定位,而不是乱跑。
6. 常见问题与排查技巧实录
在实际操作中,你肯定会遇到一些困惑。以下是我总结的几个高频问题:
问题1:我设置了网格,但拖拽元素时感觉没有严格对齐网格线?
- 检查1 :确保“对齐”功能已开启。顶部菜单栏 > 视图 > 显示网格/像素网格。更关键的是,在拖动时查看顶部工具栏,确保“智能对齐”按钮是蓝色的激活状态。
- 检查2 :在视图选项中,确认“对齐到像素网格”是关闭的。这个功能是为了让图形边缘落在整数像素上以防模糊,但它有时会与布局网格的吸附产生冲突。对于矢量图形和布局,通常先关闭它。
-
技巧
:使用键盘箭头键进行微调。选中元素后,按方向键可以以1px为单位移动。按住
Shift+ 方向键,则以10px为单位移动,这通常对应你的网格基数(如8px)的倍数,能帮你快速归位。
问题2:开发同学说我的设计稿标注的间距和实际网格对不上?
- 原因 :这通常是因为设计师忽略了元素本身的“边框”或“投影”。例如,一个按钮的宽度是占满4列,但你测量的是按钮背景框的尺寸。如果这个按钮有1px的描边(Border),那么它的总宽度就是背景宽+左右描边。在标注时,需要明确告诉开发是测量内容框(Background)还是总外框(Total width)。
-
解决方案
:使用Figma自带的“标注”插件(如“Auto Layout”)或手动标注时,
按住
Option/Alt键进行测量 ,测量的就是两个图层边缘之间的实际距离,这个距离应该等于N个“列宽+Gutter”的总和。养成用这个快捷键检查间距的习惯。
问题3:从Sketch/其他工具迁移到Figma,原有的网格设置不生效?
- 排查 :其他工具中的网格定义方式可能与Figma不同。最稳妥的方法是 在Figma中重建网格 。按照本文第二节的思路,先确定基准(如8点网格),再根据画布尺寸计算边距,重新配置。不要试图去“翻译”旧的数值,而是基于Figma的“拉伸”逻辑重新计算。
- 心得 :迁移也是一个契机,可以重新审视之前的网格系统是否合理。借此机会统一团队的设计基准,往往是提升设计系统质量的好时机。
问题4:在复杂的嵌套组件中,网格线看起来非常混乱,影响视觉?
-
技巧
:Figma允许你单独控制每个Frame的网格显示。你可以临时关闭某些深层嵌套Frame的网格显示。选中该Frame,在右侧“设计”面板中,直接点击“布局网格”旁边的眼睛图标即可隐藏。或者,你可以使用快捷键
Ctrl/Cmd + Shift + 4来全局切换所有网格的显示/隐藏。在设计细节时关掉外层网格,在调整整体布局时再打开,能保持画布清爽。
网格系统不是束缚创造力的枷锁,而是提升效率、保证品质的脚手架。刚开始可能会觉得有点繁琐,但一旦养成习惯,你会发现它让你从反复微调对齐的琐碎中解放出来,更能专注于信息架构和用户体验本身。我的建议是,从下一个项目的第一帧画布开始,就强迫自己把网格铺上。坚持一段时间,它就会变成你的肌肉记忆。
671



被折叠的 条评论
为什么被折叠?



