W whoops.tw

Figma 網格系統教學:響應式排版與 Layout Grid 完整設定指南

Figma Layout Grid 是 Figma 內建的視覺化網格系統,能在 Frame 上疊加 Column、Row或 Grid(方格)三種結構,作為元素對齊與響應式排版的依據…

Figma Layout Grid 是什麼:把設計與開發對齊的欄位契約

Figma Layout Grid 是 Figma 內建的視覺化網格系統,能在 Frame 上疊加 Column、Row或 Grid(方格)三種結構,作為元素對齊與響應式排版的依據。它跟一般對齊參考線最大的差別在於:網格是一套可命名、可套用、可跨 Frame 統一的設計系統資產,能被重複使用並寫進設計系統,這點和畫完即丟的輔助線完全不同。換句話說,它是一份欄位契約,把設計端和開發端綁在同一組數字上。官方文件把 Layout Grid 定義為「在 Frame 或元件上提供視覺引導的疊加層」,並明確支援 Column、Row、Grid 三種類型 [來源:Figma Help Center〈Guide to Layout Grids〉〈https://help.figma.com/hc/en-us/articles/360040451373〉]。

重點先看:Layout Grid 的價值不在半透明線本身,而在被鎖下來的欄數、間距、邊界與最大寬度。這組數字一旦與開發端共用,就成為貫穿設計稿與 CSS 的單一事實來源,而非畫完即丟的輔助線。

初次打開網格,畫面上只有幾條半透明直線,很容易把它當裝飾。網格真正的價值其實藏在被鎖下來的數值裡:欄數、間距、邊界、最大寬度。一旦把這些數字寫進 Frame 的 Layout Grid 設定,它就成為整個專案的排版骨架,決定每一個元件該落在哪一欄、Frame 縮放時要跟著哪一條線移動。如果你正在學 Figma 中文完整教學入門指南 裡的排版觀念,會發現網格幾乎是所有進階技巧的前置條件。

把 Layout Grid 放在設計系統脈絡下理解,它對應的是設計 token 裡的「版面層級」變數。一個成熟的設計系統會把 spacing、color、typography、layout 分層管理,網格屬於 layout 這一層的核心資產。當你在 Component Library 或 Variables 裡把網格規格化、命名化(例如 desktop-grid-12、tablet-grid-8、mobile-grid-4),任何一個設計師新增 Frame 時都能直接套用同一組數值,不需要每次重新決定欄數與間距。這種規格化帶來的穩定性,就是大型專案之所以能用同一份網格撐起數十個頁面的原因。

  • Column(欄網格):響應式介面最常用,參數包含 Count、Type、Width、Gutter、Offset。
  • Row(列網格):用於 baseline 韻律網格,控制文字行距節奏。
  • Grid(方格):8pt 或 4pt 方格,用來做像素級對齊與圖示排版。
  • 網格只在設計階段顯示,不會進入匯出成品,但其數值是交付給開發的 spec 依據 [來源:Figma Help Center〈Guide to Layout Grids〉〈https://help.figma.com/hc/en-us/articles/360040451373〉]。

Column Grid 的核心參數有六個:Count(欄數)、Type(Stretch 流體或 Align 固定)、Width(欄寬)、Gutter(欄間距)、Offset(左右邊界)、Gutter on outside(外側間距)。這六個數字決定了你的網格長什麼樣、能不能響應、會不會跟開發端打架。光是把這六個參數搞清楚,就已經贏過很多直接套範本的設計稿了。對整體排版觀念有興趣的話,可以一併參考 網頁版面設計與響應式排版觀念

把這六個參數拆開來看,每一個都對應一個開發端要承接的決策。Count 直接決定 grid-template-columns 要 repeat 幾次,Count 12 對應 repeat(12, 1fr),Count 8 對應 repeat(8, 1fr),兩端一旦不一致,跨欄元素就會錯位。Type 選 Stretch 時,Figma 會把欄寬交給 Frame 寬度自動計算,這對應開發端用 fr 或百分比單位;選 Align 時,欄寬被你手動鎖死,這對應開發端用固定 px 的 column。Width 在 Stretch 模式下是唯讀的,由系統算出來給你看,真正要你填的是 Align 模式下的欄寬。Gutter 直接映射成 CSS 的 gap,是設計與開發最容易對不上的數字,因為設計師習慣填 24,開發卻常寫 16 或 20。Offset 則映射成 container 的左右 padding,決定內容離 Frame 邊緣多遠。最後 Gutter on outside 這個勾選,控制第一欄之前與最後一欄之後要不要也放一條 gutter,勾起來時容器內側的留白會比較窄,外側 gutter 會吃掉部分 Offset,這在設計窄邊欄版面時要特別留意。

理解這六個參數的連動關係,比死記數值更重要。Count 與 Width 互相牽制:Frame 寬度固定時,Count 越多、單欄越窄,Gutter 也會佔掉更多空間。在 1440px 的 Frame 上填 Count 12、Gutter 24、Offset 32,扣掉左右各 32 的邊界後還有 1376px 可用,再扣掉 11 條 gutter 共 264px,剩下 1112px 平分給 12 欄,每欄大約 92px。把這個換算邏輯摸熟,你就能在開會時當場算出某個跨 4 欄的卡片實際有多寬,不用等開發端回報。這種把設計參數換算成實際像素的能力,是設計與開發能對得起來的底層功課。

從版面工程的角度看,Layout Grid 真正的角色是一致性的基礎建設。只要在 Figma 用正確的欄數、間距與斷點邊界把網格定下來,元件的響應行為、開發端的 CSS Grid、以及整個團隊的版面一致性,就都被同一份規則收斂。若你還在摸索 Figma 完整指南與介面操作,這個觀念會直接決定你之後做響應式專案會不會破圖。

設定前先決定:固定網格還是流體網格

Column Grid 有兩種模式:Stretch(流體)和 Align(固定)。選哪一個,取決於你的介面要不要隨螢幕寬度自適應。如果要做響應式 Web/App 介面,選 Stretch,欄寬會隨 Frame 寬度自動伸縮,總寬與邊界鎖死;如果要做固定寬度設計稿,或要精確對齊開發端的固定欄寬(例如 Tailwind 的 container),就選 Align 並手動指定欄寬與間距。

這一步看起來無關緊要,卻是響應式排版成敗的關鍵。把 Align 固定網格當 Stretch 用,是新手最常踩的雷:Frame 一縮放,欄位不跟著動,內容馬上錯位。實務上較穩妥的做法是要求團隊主體版面一律用 Stretch 流體網格,只有需要跟 CSS container 精確對齊的關鍵 section(例如 hero、定價表)才局部用 Align。這樣可以在保持響應彈性的同時,兼顧 spec 輸出的精確度。對響應式設計的全貌有興趣,可延伸讀 Figma 響應式設計與行動版排版響應式網頁設計 RWD 基礎觀念

面向Stretch 流體網格Align 固定網格
欄寬隨 Frame 寬度自動伸縮手動指定,固定不變
欄數固定可變(Frame 越寬欄數越多)
Gutter固定固定
適用場景RWD 響應式介面主體固定寬度稿、CSS container 對齊
響應行為欄位跟著 Frame 伸縮欄位不動,適合像素級控制
常見錯誤誤當 Stretch 用,縮放即破圖

九成以上的 Web/App 響應式專案,主體都該用 Stretch。Align 留給那些「這個區塊寬度就是 1120px,一個像素都不能動」的場合,例如要跟 Landing Page 銷售頁製作教學 裡的固定容器對齊時。混淆兩者,是設計與開發對不起來的第一個原因。若你想把響應式觀念再往下扎根,RWD 響應式網頁實戰排版AWD 自適應與 RWD 響應式差異 都值得一看。

桌面版 12 欄是怎麼來的

桌面版主流做法是 12 欄、gutter 設 16 到 24px、max-width 約 1200 到 1440px。12 之所以成為業界慣例,不是美感問題,是數學問題:12 可被 2、3、4、6 整除,方便同時做兩欄對稱、三欄等分、8 加 4 不對稱版面。這個因數特性讓 12 欄幾乎能組出所有常見的桌面版面結構。

舉個實際的設定組合:在 1440px 寬的 Frame 上,設 Count 12、Type Stretch、Gutter 24、Offset 32,就能得到一套多數開發端都認得的桌面網格。Gutter 與 margin 建議用 8 的倍數(16、24、32),跟間距系統以及開發端常用的 CSS Box Model 邊距與留白觀念 一致,避免設計與實作出現小數點落差。Offset 至少留 24 到 32px,避免內容貼齊螢幕邊緣造成視覺壓迫。

為什麼不是 16 欄或 8 欄?8 欄在桌面太粗,做不出細分;16 欄又太細,多數版面用不到那麼多等分,反而增加管理成本。12 剛好落在中間,兼顧彈性與可控性,這也是它成為 Bootstrap、Tailwind 等主流框架預設選擇的原因。框架的選擇本身也是排版工程的一環,想了解框架差異可參考 WordPress 視覺化頁面編輯器比較Elementor 頁面編輯器完整教學

桌面網格的重點從來就不是 12 這個數字本身,關鍵在於你能不能用同一組數值,讓設計稿、CSS 入門與響應式設計語法、開發端的容器三者對得起來。只要這組數字在兩端一致,響應式行為就會跟著一致。這也是為什麼桌面網格的數值應該寫進設計系統文件,讓它變成團隊共用的資產,不要只留在某個設計師的腦袋裡。

平板與手機的欄數縮減策略

響應式的關鍵,在於依斷點主動縮減欄數。平板常用 8 欄、手機常用 4 欄,同時把 gutter 與邊界縮小,讓觸控間距與閱讀節奏合理。把桌面 12 欄直接套到手機,欄位會窄到根本放不下內容,這是響應式破圖最常見的源頭之一。

手機優先縮減欄數的必要性,可以用一份流量結構數據佐證。根據 Statista 的全球網站流量統計,2026 年第一季來自行動裝置(不含平板)的流量占比達到 52.27%,已經過半 [來源:Statista〈Share of mobile web traffic worldwide quarterly 2015-2026〉〈https://www.statista.com/statistics/277125/share-of-website-traffic-coming-from-mobile-devices/〉〈2026-04-28〉]。這代表當你在 Figma 設計網格時,如果把桌面 12 欄當作唯一基準、手機只是事後縮放,等於讓超過半數使用者在版面破圖的風險下瀏覽。把斷點欄數縮減視為設計階段的主動決策,才能讓網格真正回應這份行動優先的流量結構。

這份行動優先的現實,連搜尋引擎也早就跟著調整。Google 自 2020 年宣布全面導向行動優先索引(mobile-first indexing),並於 2023 年正式宣告這項遷移完成,所有能在行動裝置上運作的網站,一律以行動版檢索器作為主要收錄來源 [來源:Google Search Central Blog〈Mobile-first indexing is here〉〈https://developers.google.com/search/blog/2023/10/mobile-first-is-here〉〈2023-10-31〉]。對網格設計的直接影響是:搜尋引擎實際收錄的版本,是你手機那一組斷點網格所撐起來的版面。如果你只認真設計桌面 12 欄,手機 4 欄草草帶過,被索引與被排名的會是那個沒被好好照顧的版本。這也說明為什麼手機網格必須被當成獨立的設計產出來對待,它本身就是一套完整的排版規格,有自己專屬的欄數、間距與邊界,附屬於桌面版只會讓它失去被認真設計的機會。

實務上還有一個常被忽略的層次:斷點的 Frame 寬度要對齊開發端的 media query,否則設計稿與成品會在不同寬度切換欄數。開發端常用的 desktop 斷點落在 1024px 或 1200px,tablet 落在 768px,mobile 落在 375px 或 414px。你的 Frame 寬度最好直接採用這幾個值,避免隨意填 1300 或 800 這類不對應任何 media query 的數字。當 Frame 寬度與 media query 的觸發點一致,設計端看到的欄數切換,就會等於使用者瀏覽時實際發生的切換,設計驗收才能對得上真實使用情境。

裝置寬度區間欄數Gutter邊界(Margin)
桌面1200 到 1440px1216 到 24px24 到 32px
平板768 到 1024px816 到 24px32 到 48px
手機414px 以下416px16 到 20px

欄數縮減的原則很單純:讓最小可用單位(手機的 1 欄)對應一個舒適的內容寬度。手機 4 欄時,1 欄大約是 70 到 80px,剛好容納一段正文;2 欄就能放卡片,3 欄以上就開始擠。觸控也要納入考量:手機 gutter 與可點擊區域之間要留夠間距,不然拇指一壓就誤觸隔壁按鈕。這類觸控與視覺層次的細節,可以對照 排版設計與字體行距視覺層次 一起看。

實作上,為不同斷點建立不同寬度的 Frame,各自套用對應的 Column Grid,不要用一個 Frame 硬撐全部裝置。桌面 1440 Frame 套 12 欄、平板 768 Frame 套 8 欄、手機 375 Frame 套 4 欄,每個斷點都是獨立的網格規格。如果你做的是電商或內容站,RWD 響應式電商網頁設計流程 裡也有對應的斷點規劃可以參考。順帶一提,平板的 8 欄不是硬規定,有些團隊用 6 欄也行,重點是欄寬要讓內容不擠。

這套「桌面 12、平板 8、手機 4」的遞減策略,才是響應式排版不失敗的真正關鍵。多數教學只示範「把 Grid 打開、填 12 欄」,卻沒點出網格的價值在斷點間的欄數縮減,而不在欄本身。把這個遞減邏輯寫進設計系統,比記住任何單一數字都重要。想看更多版面範例,網頁排版設計範例與圖文排列Bento Grid 便當盒版面配置 都有現成的拆解。

Offset 偏移量:網格真正發揮價值的地方

Offset 是網格左右兩側的留白邊界,它有雙重角色:一是當 Frame 邊界留白,二是搭配欄位起點做內容縮排與不對稱版面。當你要做內容靠左、視覺靠右的不對稱版面,或讓某個區塊從第 3 欄開始佔 8 欄時,靠的就是 Offset 與欄位起點。這是大多數教學略過、卻最影響成品質感的一步。

Offset 在不同斷點的策略也要跟著調整。桌面 Offset 留 32px 已經足夠營造呼吸感,到了平板可以放大到 48px,因為平板螢幕離眼睛較近,外側留白要更明顯;手機的 Offset 則要收斂到 20px 左右,避免在小螢幕上浪費有限的水平空間。這組遞增與收斂的邏輯,呼應前面提到的欄數縮減策略:網格的各項參數都要依斷點重新校準,不能把桌面的數值整套搬過去。把 Offset 的斷點策略寫進設計系統,能讓三個裝置的留白節奏一致。

常見手法有兩種:一是讓主內容佔中間欄、側邊欄或留白佔外側欄,例如內容區佔 8 欄、左右各留 2 欄作呼吸空間;二是 hero 區讓標題從第 2 欄起,視覺元素跨到右側。滿版排版乍看把每個像素都用滿,實際上讀者會找不到視線要停在哪裡,按鈕和段落擠在一起反而降低點擊。外側那 2 欄留白,對應的是版面設計裡一直在講的視覺動線:讀者需要喘息的空間,才知道哪一段是重點。

Offset 的效果很難用文字傳達,非得自己在 Figma 裡拉一次才會有感。同樣一組網格數值,把內容塞滿 12 欄,與只佔中間 8 欄、外側留白,成品質感可以天差地別,差別就只在 Offset 的取捨。真正拉開差距的,往往是 Offset 取捨與斷點間的欄數縮減,欄數本身在這裡反而退居配角:欄位只負責定位,Offset 與縮減策略才決定排版的氣口。如果你常做 landing page,Landing Page 轉換率優化原則 對留白與轉換的關係有更細的討論。

把 Offset 跟 Constraints 綁在一起用,是讓響應式排版真正動起來的組合技。網格把欄位位置定下來,Constraints 決定元素在縮放時貼左、貼右還是置中。沒有 Constraints,再漂亮的網格也只是背景圖。這個觀念在前段的響應式設計操作裡有完整示範。

Layout Grid、Auto Layout 與 Constraints 怎麼搭配

這三個工具各司其職,不會打架。Layout Grid 負責整體版面的欄位定位,Constraints 負責單一元素在 Frame 縮放時怎麼跟著動,Auto Layout 負責元件內部的排列間距。用網格定位大區塊、用 Auto Layout 處理區塊內部、用 Constraints 處理響應式縮放,三者分工清楚,不需要選邊站。把它們對應到設計的三個尺度(版面、元件、響應),尺度分清楚,工具自然不會打架。

最常見的錯誤,是用 Auto Layout 硬做整頁響應式排版。Auto Layout 的強項是元件內部排列,不是跨欄位的版面骨架。把它當網格用,會失去網格的一致性,每個區塊各自為政,改一個就要連動改十個。正確的做法是分層:Frame 套網格做大版面,區塊內部用 Auto Layout 做細節排列,關鍵元素再用 Constraints 鎖住對齊。這套分層觀念在 UI 原型設計與 Wireframe 差異 裡也有對應的層級拆解。若你剛接觸這些工具,免費 UIUX 自學資源 是不錯的起點。

Constraints 的設定有幾個值得記住的邊界條件。當元素的 Constraints 設為 Left and Right,它在 Frame 縮放時會兩端都被拉開,等於填滿欄位,適合需要橫向延展的背景或分隔線;設為 Center 則元素維持原寬、只水平置中,適合標題或按鈕;設為 Scale 則元素會等比放大縮小,適合圖片,但要留意小螢幕下圖片縮太小會失去細節。把這幾種模式對應到網格的欄位,就能精準控制每個元素在縮放時的行為,而不會出現「桌面看正常、手機卻擠成一團」的落差。

換個角度想,這三者其實對應設計的三個尺度:版面、元件、響應。把尺度分清楚,工具自然不會打架。想再進階一點,搭配 UIUX 設計師常用 ChatGPT 指令 把網格 spec 寫成可交付的文件,或是用 Figma 動態按鈕與轉場動畫Figma 載入動畫與 Loading 原型 處理元件內的互動細節,整個工作流程會順很多。元件本身的視覺質感也不能放過,像 Figma 毛玻璃霧面質感效果Figma 互動式輪播滑塊設計Figma 環形文字與圓弧排版Figma 視差效果與沉浸式互動 都是常見搭配。

把網格輸出給開發,對齊 CSS Grid 與 Tailwind

把 Figma 網格的欄數、gutter、max-width 直接映射成開發端的 grid-template-columns 與 container 設定,兩邊用同一組數值,設計稿的 12 欄就會等於開發端的 12 欄。這聽起來理所當然,卻是絕大多數專案設計與開發對不起來的根本原因:兩端各自憑感覺填數字。

Figma 網格參數對應的開發端設定說明
Count(欄數)grid-template-columns 欄數例:repeat(12, 1fr)
Guttergap例:gap: 24px
Offset / max-widthcontainer padding 與 max-width例:max-width: 1200px; padding: 0 32px
斷點(1440/768/375)media query對應 desktop / tablet / mobile
Tailwind 對齊grid-cols-12 + gap-x-*breakpoint md/lg/xl 對應各斷點 Frame

Tailwind 的對齊方式很直覺:grid-cols-12 加上 gap-x-*,再用 md、lg、xl 等 breakpoint 對應 Figma 各斷點的 Frame。CSS Grid 官方文件對 grid-template-columns 與 gap 有完整定義 [來源:MDN Web Docs〈CSS Grid Layout〉〈https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout〉],Tailwind 官方文件也列出 grid-cols 與 gap 的對應關係 [來源:Tailwind CSS 官方文件〈Grid Template Columns〉〈https://tailwindcss.com/docs/grid-template-columns〉]。Figma 的 Dev Mode 會顯示網格資訊,但我仍建議在設計系統文件把數值寫死,不要只靠 Dev Mode,因為 Dev Mode 偶爾會漏掉 Offset 這類細節。

最常見的落差是:設計用 Stretch 流體網格,開發卻寫固定 px 寬度,結果中間寬度(例如 960px)的版面兩邊就是對不齊。流體網格的精神是欄寬浮動、總寬與邊界鎖死,開發端若沒跟著用 fr 單位或百分比,就會破這個契約。這個落差是可以算出來的:以 12 欄、gutter 24px 的設計為例,若開發端把 gap 寫成 16px,11 條 gutter 合計就少了 88px,整組欄位的可用總寬會比設計稿縮減約 6%,跨欄卡片的右邊界因此集體往左擠,這種累積誤差在首頁多卡片排版時會一眼被看出來。交付時建議附一張斷點對照表,把欄數、gutter、max-width、邊界一次列清楚,開發拿到就能直接照抄,不用再回來對數字。這張表也可以順手整合進 SASS SCSS 預處理器加速開發 的變數系統,讓設計 token 直接變成程式碼變數。

只要設計端的欄數、gutter、max-width 與開發端的 grid-template-columns、gap、container 用同一組數值,Figma 的 12 欄就會等於開發端的 12 欄,響應式行為才會一致。前端框架本身的版面能力也值得摸熟,像 Bricks Builder 視覺化編輯器教學Divi 主題架站與網頁設計 都會用到格線系統,觀念互通。

從零搭建一套桌面到手機網格:步驟拆解

把前面幾個觀念串起來,這裡用一份完整的設定流程把網格從零搭到能交付。流程鎖定三個裝置:桌面 1440px、平板 768px、手機 375px。每一步都對應一個明確的 Figma 操作與一個要寫進設計系統的數值。

  1. 建立三個獨立 Frame:在 Figma 直接新增三個 Frame,寬度分別設為 1440、768、375,高度依內容決定。一個 Frame 對應一個斷點,避免用單一 Frame 硬撐全部裝置。
  2. 桌面 Frame 套 12 欄流體網格:選 Frame,右側面板按 Layout Grid 的加號,類型選 Column,Count 填 12,Type 選 Stretch,Gutter 填 24,Offset 填 32。這組數值對應桌面主流網格。
  3. 平板 Frame 套 8 欄網格:同樣新增 Column 網格,Count 填 8,Type 選 Stretch,Gutter 填 24,Offset 填 32。平板欄位比桌面少,保留主要區塊的縮排空間。
  4. 手機 Frame 套 4 欄網格:Count 填 4,Type 選 Stretch,Gutter 填 16,Offset 填 20。手機 gutter 與邊界縮小,讓觸控間距與閱讀節奏合理。
  5. 給關鍵元素設 Constraints:把要響應的元素選起來,在右側 Constraints 面板設定 Left and Right,讓元素貼著欄位左右邊界。沒有這一步,再漂亮的網格也只是背景。
  6. 把數值寫進設計系統:把 desktop-grid-12、tablet-grid-8、mobile-grid-4 這三組數值命名後存進 Variables 或設計系統文件,團隊任何成員新增 Frame 時直接套用。
  7. 產出斷點對照表交付開發:把三個斷點的欄數、gutter、max-width、邊界整理成一張表,連同設計稿交給開發,讓兩端用同一組數字。

這七步走完,你手上會有一套三裝置對齊、可重複套用、能直接交付開發的網格。最容易在第 5 步偷懶:很多設計師把網格設得很漂亮,卻漏掉給元素設 Constraints,結果 Frame 一縮放,元素還黏在原座標,網格形同虛設。Constraints 是網格的配套設定,兩者一起才會讓響應式真正動起來。

進階技巧:網格的重疊、嵌套與 baseline 韻律

當基本欄網格熟練之後,三個進階手法能讓排版再上一層:網格重疊、網格嵌套、baseline 韻律網格。這三者對應的是「版面深度」、「元件精度」與「文字節奏」三個維度。

網格重疊,指的是在同一個 Frame 上同時疊加 Column 網格與 Grid 方格網格。Column 負責水平方向的欄位定位,Grid 方格負責像素級的垂直對齊。兩者疊加時,Column 會以顏色較淺的方式顯示,Grid 方格則作為更細的參考層。這種疊法在需要同時處理欄位佈局與圖示對齊的複雜版面特別有用,例如 Dashboard 同時有資料卡片的欄位排列與圖示的 8pt 對齊需求。

網格嵌套,是把網格套用到元件內部的 Frame。外層 Frame 套桌面 12 欄做主版面,內層的卡片元件再套一組較細的網格做內部排列。這對應的是分層排版觀念:外層管大區塊的位置,內層管元件內部的細節。嵌套時要注意內層網格的 gutter 要小於外層,避免視覺節奏打架。嵌套網格與 Auto Layout 可以共存,Auto Layout 處理排列方向與間距,網格處理對齊基準。

baseline 韻律網格,是用 Row 網格建立文字行距的節奏。設定方式是新增 Row 類型網格,Height 填入你的行高基數(例如 8 或 4),Type 選 Align。文字的行高、段落間距、圖片高度都盡量對齊到 baseline 的倍數,整個版面的垂直節奏就會有一致性。baseline 韻律是排版質感的最後一哩路,它讓文字與圖片在垂直方向有共同的呼吸頻率,讀起來更順暢。對行距與文字層次的細節,排版設計與字體行距視覺層次 有更深入的拆解。

進階手法解決的問題適用場景
網格重疊同時需要欄位定位與像素級對齊Dashboard、複雜資料介面
網格嵌套元件內部需要獨立的對齊基準卡片、表單、多欄元件
baseline 韻律網格文字與圖片垂直節奏不一致長文頁、內容站、雜誌式版面

網格選型決策矩陣:用兩個維度挑出正確的網格

前面分別討論了流體與固定、12 欄與 4 欄、欄網格與方格網格,但實際拿到一個版面需求時,多數人會卡在「到底該選哪一組」。把判斷收斂成一個二維矩陣,能讓選型從憑感覺變成可重現的流程。兩個維度分別是:版面要不要跨裝置響應(橫軸),以及內容要不要結構化對齊(縱軸)。把你的版面丟進這個象限,對應的網格類型幾乎就確定了。

象限跨裝置響應結構化對齊建議網格類型典型場景
第一象限Column 流體網格(12/8/4 遞減)Web App、電商、內容站
第二象限不需要Column 流體網格+大邊界 Offset品牌形象首頁、活動 Landing Page
第三象限不需要Column 固定網格(Align)或 Grid 方格固定尺寸海報、社群圖卡、Banner
第四象限不需要不需要Grid 方格網格或不安裝網格插畫、藝術排版、實驗性版面

第一象限是網格價值最大的區塊,多數商業專案都落在這裡,必須建立完整的桌面 12、平板 8、手機 4 三組流體網格,並把數值寫進設計系統。第二象限的版面要響應,但內容本身以視覺為主、不強調欄位切分,這時流體網格的重點放在撐住斷點不破圖,Offset 可以放大到 48 甚至 64px,讓留白成為主要的視覺語言。第三象限不需要跨裝置,卻要像素級對齊,這時用 Align 固定網格或 Grid 方格網格,把每個元素鎖在精確座標上,例如社群圖卡常用 1080x1080 的固定 Frame。第四象限兩者都不需要,網格變成可有可無的參考,插畫與藝術排版在這裡可以完全跳脫欄位框架。

這個矩陣的用處在於它把三個原本糾纏在一起的問題拆開:要不要用網格、用哪種網格、要不要流體。先問跨不跨裝置,再問要不要結構化對齊,答案組合直接指向一種網格類型。把這張表貼在設計系統文件裡,新進設計師拿到需求時先過一次矩陣,就能避免把 12 欄流體網格硬套到一張單尺寸海報上,也不會把固定方格拿去做響應式首頁。對版面分類觀念有興趣,可以對照 網頁版面設計與響應式排版觀念 的分類邏輯。

網格開了卻沒效果:5 個常見原因

設了 Layout Grid,排版看起來還是亂、響應式還是破,通常不出五個原因。逐一排查,多半能在半小時內找到癥結。

  1. 元素沒設 Constraints:網格只開在 Frame,但元素沒設 Constraints,Frame 縮放時元素固定在原座標,網格形同虛設。這是最常見的破圖原因:網格定義了欄位的位置,Constraints 才決定元素要不要跟著欄位流動。
  2. 用 Align 卻期待流體響應:Align 是固定網格,欄位不會跟著 Frame 伸縮。期待它響應,當然破圖。
  3. gutter 與開發端對不上:設計設 24px,開發寫 16px,設計與成品之間就會出現位移。這類問題在 Core Web Vitals 與版面穩定度 CLS 上有時還會演變成版面位移。
  4. 手機平板沿用桌面 12 欄:12 欄塞進 375px 寬的 Frame,每欄窄到放不下內容,欄位形同沒用。
  5. 把網格當裝飾開了不管:網格開了卻不依欄位對齊,實際排版仍靠肉眼,等於沒開。

多數破圖不是網格沒開,而是用法錯了。把這五點當成檢查表,每次交稿前跑一遍,響應式出錯的機率會大幅下降。對設計系統化的維護有興趣,網頁設計完整指南與 UI 原則網頁設計必備關鍵元素 提供了更完整的檢查框架。若你想系統化累積作品,作品集網站設計指南 能幫你把網格觀念落地到實際專案。

工具面的補強也別忽略:Figma 必裝外掛與效率工具 裡有不少網格相關外掛,配色與字體這些影響排版的變數,則可參考 網頁配色工具與色彩計畫中文字體設計與字型推薦。要從需求端回推版面,設計思考與使用者需求方法 會給你不同的切入點。

網格的價值要到實作階段才會浮現:欄數寫進設計系統、套到實際版面、交給開發,再跟網站速度與圖片載入這些環節串起來,設計稿才會變成可上線、可被搜尋引擎讀懂的成品。版面穩定度與搜尋表現的關聯,從 Google Search Console 安裝 之後才看得到實際資料,把網格規格寫死、交付對齊,正好能在這份報表裡驗收。

破圖診斷流程:從症狀回推到網格設定

前一段列出五個常見原因,但實際拿到一張破圖的設計稿時,要快速定位是哪一個原因造成的,需要一條可依循的診斷路徑。把破圖的症狀分類,再對應到網格的設定層,能在幾分鐘內鎖定問題根源。這條流程把「症狀、檢查點、修正動作」串起來,讓排查從經驗判斷變成可重複執行的步驟。

破圖症狀先檢查對應的修正動作
桌面正常、手機元素全擠在一起手機 Frame 是否套 12 欄改套 4 欄流體網格,重排內容
Frame 縮放時元素黏在原座標不動元素有無設 Constraints給元素設 Left and Right 或 Scale
設計稿對齊,成品兩側多出留白開發端是否用固定 px 寬度改用 fr 單位或百分比,鎖總寬與邊界
卡片之間間距忽大忽小Gutter 設計值與開發 gap兩端統一為同一個 8 的倍數
主視覺超出 container 邊界Offset 與 max-width 是否一致把 max-width 與 padding 寫進同一組變數
圖片在小螢幕縮到看不清圖片 Constraints 是否設 Scale改用容器裁切或設最小寬度

這張診斷表的使用方式,是從最左欄的症狀往右對照。先確認手機 Frame 用的是哪一組欄數,這一步就能排除掉大半的行動版破圖;再檢查關鍵元素有沒有設 Constraints,這一步排除掉縮放不跟動的問題;接著比對設計與開發的間距數字,排除掉視覺位移。三個檢查點走完,剩下的多半是 Offset 與 max-width 的邊界對齊問題。把這條路徑記下來,遇到破圖時依序執行,會比逐一嘗試各種設定更有效率。這套從症狀回推設定的思路,與 UI 原型設計與 Wireframe 差異 裡的分層檢查觀念相通。

診斷時還有一個容易誤判的點:有時破圖的根源在 Components 而在主 Frame。Figma 的 Component 有自己獨立的網格與 Constraints 設定,當你在主 Frame 改了網格,Component 內部的元素可能還沿用舊的錨點,結果主版面看起來正常,Component 一放進去就錯位。排查時要把懷疑的 Component 單獨點開,檢查它內部的 Constraints 是否還對應得上新的欄位。這類「主版面對、元件內錯」的破圖,往往要點進去才看得到,是進階排查時最值得多花一分鐘確認的地方。

把這條診斷路徑落到一個典型情境來看,會更具體。以一個內容站或電商網站的情況為例,常見的狀況是設計端把桌面網格設成 Count 12、Gutter 24、Offset 32,並把同一組數字交給開發,但開發端基於既有 CSS 框架習慣,把 gap 直接寫成 16px,container 的 padding 也只留 24px。依典型表現幅度,這類數值落差累積下來,11 條 gutter 合計約差 88px、左右 padding 各少 8px,整組欄位的可用總寬會比設計稿縮減約 6% 到 8%,落在桌面看起來接近正常、但首頁多卡片排版或定價表這類橫向密集版面會明顯往左擠的區間。手機版的問題更尖銳:當桌面 12 欄被原封不動搬進 375px 的 Frame,單欄寬度會掉到約 18 到 22px,連一張縮圖都放不下,這時的修正順序應該是先重套手機專屬的 4 欄網格,再回頭比對兩端的 gap 與 max-width 是否同名同值,繼續在 gutter 上微調通常無濟於事。

這個情境的決策點在於:破圖一旦被定位成數值對不上,修正方向就該回到同一份斷點對照表前面對數字,先統一 gutter 與 padding 這類最容易各自填的值,再檢查 Constraints,重畫網格通常派不上用場。要誠實指出的是,這條路徑的絆腳石多半落在協作而非技術:如果開發端是外包或接手既有專案,他們手上的 CSS 可能沿用舊框架預設值,即使對照表寫得很清楚,實際改動的幅度與排程仍受限於既有程式碼的耦合程度,網格對齊有時得排到下一個重構週期才能真正落地,交件當下未必能驗收完成。這層現實是評估「能不能在這個專案把網格規格收斂」時必須先問清楚的前提。

Dev Mode 與設計 token:把網格變成可交付的程式碼資產

Figma 的 Dev Mode 會把網格資訊顯示在右側面板,開發端可以直接讀到 Count、Gutter、Offset 這些數值,這大幅縮短了設計與開發之間的對數字時間。Dev Mode 雖然方便,仍有它的盲區:它讀的是當下 Frame 的網格設定,如果你把同一個版面用了多組疊加網格,Dev Mode 不一定會把每一層都標清楚;Offset 與 Gutter on outside 這類細節,偶爾也會被開發端忽略。因此把網格數值另寫進設計系統文件或 Variables,仍是不可省的動作,Dev Mode 適合當輔助查驗,卻不該當作唯一依據。

把網格規格化為設計 token,是讓它真正變成程式碼資產的做法。在 Figma Variables 裡,可以為三個斷點各建一組 collection,命名用斷點加欄數(例如 desktop-grid-12、tablet-grid-8、mobile-grid-4),語意清楚也方便搜尋。每組裡存放 count、gutter、offset、max-width 四個變數,足以描述大多數網格規格。這些變數可以套用到任何 Frame 的 Layout Grid 設定,也可以透過 Dev Mode 或 Tokens Studio 這類外掛匯出成 JSON,再由開發端轉成 SCSS 或 Tailwind config 的變數。當設計端的 token 與開發端的變數同名同值,網格規格就從「某個設計師腦裡的數字」升級成兩端共用的單一事實來源。

這套 token 化流程的最大收益,在於把網格變成有版本、可回溯的資產。傳統做法裡,網格規格散落在每個設計師的 Frame 設定與口頭溝通中,改了一次就要逐一通知;token 化之後,所有改動集中在 Variables 面板,套用了該 token 的 Frame 會自動同步,開發端也能看到變更前後的差異。這對多人協作的大型專案尤其關鍵,能避免「設計改了 grid、開發沒跟到」這類隱形落差。把 token 觀念與 SASS SCSS 預處理器加速開發 的變數系統串起來,整個交付鏈就能從設計一路通到程式碼。

什麼情況不該用欄網格:網格的適用邊界

欄網格是強大的工具,卻有明確的適用邊界。把欄網格套用到所有版面,會在某些情境反而綁手綁腳。判斷要不要用欄網格,可以從三個維度檢視:內容是否需要結構化對齊、版面是否跨多個裝置、設計與開發是否需要共用同一組數字。三者都成立,欄網格的價值最大;三者都不成立,欄網格可能變成多餘的框架。

  • 純插畫或海報式版面:這類版面追求的是視覺構圖與留白,元素位置由美感決定,欄網格的剛性對齊反而會壓抑創意。這時用 Grid 方格網格做像素級對齊即可,不需要欄結構。
  • 單一裝置的固定海報:只在某個固定尺寸輸出、不需要響應的成品(例如活動主視覺、社群圖卡),用 Align 固定網格或單純的參考線就夠了,不需要三裝置的流體網格體系。
  • 高度實驗性的藝術排版:刻意打破規則、追求不對稱與衝突感的藝術排版,硬套欄網格會抹平原本想表現的張力。這類版面可以完全不用網格,或只用最寬鬆的 Grid 方格作粗略參考。
  • 內容完全流動的單欄長文:純文字的長文頁面,內容本身只有一個流向,欄網格的價值有限。這時用 baseline 韻律網格控制行距,比用欄網格控制水平佈局更有意義。

換句話說,欄網格的核心價值在於「結構化對齊」與「跨裝置響應」這兩件事。當你的版面兩者都不需要,就沒有必要為了用網格而用網格。判斷的工具很簡單:問自己這個版面會不會出現在多個螢幕寬度、設計稿會不會交給開發實作。兩個答案都是肯定,欄網格就是必要的基礎建設;兩個都是否定,可以用更輕量的參考層取代。這個判斷流程能幫你把網格用在刀口上,避免無差別地套用到每一個 Frame。

網格健康度檢查表:交稿前的最後一關

把前面的觀念濃縮成一份可在交稿前逐項打勾的檢查表,能系統性地攔截絕大多數響應式破圖。這份檢查表涵蓋網格本身、Constraints、跨裝置一致性、與開發交付四個面向。

  • 桌面 Frame 套 12 欄、平板套 8 欄、手機套 4 欄,三裝置各自有獨立網格。
  • 主體版面用 Stretch 流體網格,固定容器區塊才用 Align,沒有混用。
  • Gutter 與 Margin 都是 8 的倍數(16、24、32),與間距系統一致。
  • 所有需要響應的關鍵元素都設了 Constraints,縮放時會跟著欄位流動。
  • Offset 至少留 24 到 32px,內容沒有貼齊 Frame 邊緣。
  • 三裝置的網格數值已寫進設計系統文件或 Variables,可被團隊重複套用。
  • 附了一張斷點對照表,把欄數、gutter、max-width、邊界一次列清楚給開發。
  • 設計端與開發端用同一組數值,沒有設計用流體、開發寫固定 px 的落差。

這八項全部打勾,網格的基礎健康度才算過關。任何一項未過,就回頭對照前面的章節修正。這份檢查表的價值在於把零散的觀念收斂成可執行的流程,讓每一次交稿都跑同一套標準,降低響應式出錯的隨機性。把網格當成有維護成本的基礎建設來對待,團隊的版面一致性才會長期穩定。

常見問題 FAQ

Offset 偏移量什麼時候要用?

要做不對稱版面或內容縮排時用。Offset 負責 Frame 邊界留白,搭配欄位起點控制內容從哪一欄開始佔幾欄,是讓排版有呼吸節奏、避免滿版壓迫的關鍵。

Layout Grid 跟 Auto Layout 有什麼不同?

Layout Grid 定義版面的欄位分佈,Auto Layout 處理單一元件內部的排列與間距,Constraints 則決定元素在 Frame 縮放時怎麼動。三者分工不同,搭配使用不衝突。

沒有設定網格會造成什麼問題?

版面失去一致性,元素各自對齊、邊距憑感覺,響應式縮放時破圖,設計與開發端也無法用同一組數字溝通,後續維護成本大幅上升。

什麼樣的版面不適合用欄網格?

純插畫與海報式版面、單一固定尺寸的輸出、刻意打破規則的藝術排版、純文字單欄長文這幾種情境,欄網格的剛性對齊反而會壓抑表現。判斷標準是版面是否需要結構化對齊與跨裝置響應,兩者都不需要時,用 Grid 方格網格做像素級對齊、或用 baseline 韻律網格控制行距,會比硬套欄網格更合適。

網格跟 baseline 韻律網格要怎麼搭配?

兩者可以疊加在同一個 Frame 上。欄網格用 Column 類型處理水平方向的欄位定位,baseline 韻律網格用 Row 類型建立垂直方向的行距節奏,Height 填行高基數(8 或 4)。文字行高、段落間距、圖片高度盡量對齊到 baseline 的倍數,整個版面就會有水平的欄位一致性與垂直的行距節奏,兩個維度互補。

相關文章