網格系統
在 2022 年我決定以前端工程師作為轉職目標後,就開始了這段不歸路漫漫長路。
我一開始選用的教材是 Huli 大大開設的 Lidemy 網站課程,
以及參考他 bootcamp 的課綱,按表操課自學,只是沒有老師批改......
經歷六角學院在 2022 年末舉辦的精神時光屋活動後,挫折還蠻大的,
每週主題我都嘗試用 React 開發,想藉此熟悉 React,
但沒有使用過其他可以搭配的 CSS 框架,僅使用在課綱內學過的 styled-components,
所以幾乎是以純手刻的方式做開發。
因為沒有前期規劃的概念,導致三週的挑戰都沒有時限內完成,
經常需要邊改樣式邊整合 React 邏輯,既沒有效率,最終呈現也不盡人意,
等於版面與功能我都沒有兼顧好。
為何需要網格系統
後來我還是有補完精神時光屋的題目,但對於切版的困惑還是沒有停止,
直到我看到卡斯伯老師於去年線上直播分享的主題:從 Figma 到 VSCode,設計做到網頁切版,
才知道切版的前期規劃中,有一件非常重要的事被我忽略了:
網格系統
大部分設計稿會照網格系統做出來,所以網頁內許多元素的排列其實是有規律的,
沒有這些前備知識的話, 拿到設計稿可能會毫無頭緒從何開始,
比如各個區塊的大小、間距、RWD 變化方式等等。
或是寫了一卡車屬性,但不知從何整理,
常常想到什麼就寫什麼,最後發現明明是相似的結構,
卻重複寫了好幾個差不多的 class...
以網格系統的概念拆解設計稿的各個區塊,實作過程就具備規律,後續修改也比較容易,
如果設計稿本身是沒有網格系統的,也可以自己加入,方便開發上的管理,
專案開發的常用的 CSS 框架或是 UI 庫大多也都有內建網格系統,
如 Bootstrap、Tailwind 等等,不過我們可以先想想看 :
**純手刻要怎麼做到網格系統?
嘗試寫出簡單的網格系統後,使用框架時也會更有概念,
我自己使用的這套邏輯也是因為大學上課曾經使用過 Bootstrap 而參考它做出來的 XD
但手刻過一遍再運用到切版作業上,也變得比較清楚網格系統背後的設計脈絡。