干貨分享:如何更好地使用柵格系統(tǒng)

0 評論 9221 瀏覽 57 收藏 19 分鐘

柵格系統(tǒng)在UI設(shè)計和前端開發(fā)中是被應(yīng)用的很廣泛一套體系,但真正能掌握并很好運用的人卻不多,本期我為大家找到這篇干貨文章,分享原作者通過多年實戰(zhàn)收獲的經(jīng)驗總結(jié),一起來學(xué)習(xí)吧!

環(huán)顧身邊常見的優(yōu)秀設(shè)計很多都使用了柵格系統(tǒng),你可能非常贊同在界面中使用柵格系統(tǒng),但卻沒有人告訴你應(yīng)該如何使用它們。

印刷中也會用到柵格,但就本文而言,我主要想討論的是用于PC和移動設(shè)備上的柵格系統(tǒng)設(shè)計。

紫色塊放內(nèi)容

內(nèi)容塊包括文本,圖片或者是兩者的組合形式,背景顏色實際上不能算是內(nèi)容元素,除非是作為文本或者圖片的容器。

上圖中的粉色塊作為柵格中的列,它們構(gòu)成了內(nèi)容寬度。一般來說,列寬是不會變的,只是列數(shù)會隨著設(shè)備的不同而變化,比如從PC端的12列變?yōu)槠桨咫娔X上的8列,然后在移動端變?yōu)?列。嚴(yán)格來說,你其實可以定義任何想要的列寬,但大多數(shù)情況下的網(wǎng)格列寬都設(shè)置在60-80px之間。選擇合適的列寬是最重要的,因為它是內(nèi)容寬度的主要決定因素。

水槽是在列與列之間的空間。20px是一個常見的尺寸設(shè)置,當(dāng)設(shè)計塊狀或者卡片元素的網(wǎng)格時,這種間距非常重要,比如做照片類設(shè)計的時候。有些系統(tǒng)會隨著設(shè)備寬度的增加而增加水槽的寬度,但也可以保持固定。

外邊距也稱為外水槽,是內(nèi)容寬度之外的空白區(qū)域。為了更方便的設(shè)計,外邊距會隨著設(shè)備寬度的增加而增加。移動設(shè)備的邊距通常為20-30px,而在平板電腦和PC端,這個間距通常會差異很大。

下面會介紹一些基本的準(zhǔn)則,但要明白在實際設(shè)計中其實沒有任何硬性的規(guī)定。

基本準(zhǔn)則

1. 內(nèi)容元素必須位于若干列上

其核心思想是內(nèi)容元素必須位于若干列上,你可以任意分割,比如6×2,3×4,4×3。下面的例子中,我展示了不同分割方式設(shè)計的信息卡片。

不同柵格設(shè)計展示

很棒,這看起來很簡單對吧。有的時候,你想把內(nèi)容嚴(yán)格的套用在柵格布局上,會發(fā)現(xiàn)可能不夠美觀,比如下面的例子。

如果我們把內(nèi)容都放在網(wǎng)格上,文本內(nèi)容會顯得很長,最佳的位置是不嚴(yán)格在任何網(wǎng)格上,這也是可以的,只要理解了整個元素實際上是一個不可見的,更大的容器就行。

這也是4×3的布局,只是給了它內(nèi)部不可見的填充。當(dāng)把這樣的設(shè)計稿給到開發(fā)時,他們就能很直觀的知道這一點,所以這更利于去理解如何實際地分配好內(nèi)容。

2. 不要將內(nèi)容元素留在水槽中

內(nèi)容元素應(yīng)該要在列寬以內(nèi),而不能流出在水槽之外,這樣會違背柵格化的目的。

3. 只要父級元素對齊柵格,子級可以不完全對齊列

有些時候,你想要將設(shè)計和卡片分成兩部分,一半是圖片,一半是文字。你可能遇到這樣尷尬的情況,圖片沒有完全落在一列上,文字被迫以一種奇怪的方式自適應(yīng)。其實不用擔(dān)心,只要“父”容器對齊柵格,這就沒有關(guān)系。

父子級內(nèi)容柵格排版示意

4. 除非有意,否則不要把列作為外部填充

所有重要內(nèi)容都應(yīng)該與柵格列寬相適應(yīng)。一開始會覺得奇怪,因為如果不習(xí)慣使用網(wǎng)格,可能會把網(wǎng)格寬度當(dāng)成全部內(nèi)容區(qū)域,所以還需要給它設(shè)定一定的內(nèi)邊距。此時外邊距就起到了留白的作用,它們充當(dāng)了內(nèi)邊距。不要在網(wǎng)格內(nèi)部利用列寬當(dāng)成內(nèi)邊距,而是要與網(wǎng)格最外面保持對齊,利用網(wǎng)格外的間距來當(dāng)做留白區(qū)域。

根據(jù)代碼實現(xiàn)方式,要么網(wǎng)格內(nèi)的內(nèi)容按比例縮放,邊距固定,要么外邊距與內(nèi)容同時縮放。

正確的內(nèi)容填充方式和不正確的把柵格當(dāng)做邊距

所以如果有人說“我需要一個1200px寬的設(shè)計”,這并不意味著你的設(shè)計就是1200px寬,這其實是說設(shè)計內(nèi)容寬度在1200px的畫布內(nèi),實際內(nèi)容占位是960px,這樣就會有空間留出外邊距。

5. 完全出血的元素或紋理圖形應(yīng)該設(shè)計在畫板邊緣,并理解為出血的列網(wǎng)格

這個頁面布局的頂部圖片被設(shè)計成完全出血

這是一個例外的規(guī)則,當(dāng)背景顏色或者圖片在完全出血的情況下,開發(fā)同學(xué)會把它理解為一個全屏的內(nèi)容元素。

如果設(shè)計的是裝飾元素之類的內(nèi)容,可以接受它被裁切掉,此時也可以脫離柵格化的設(shè)計。

一些圖片和文字的出血設(shè)計

頁眉和頁腳有時也有例外,它們不被認(rèn)為是內(nèi)容的一部分。有些設(shè)計將它們固定在瀏覽器邊緣,有些則喜歡保持內(nèi)容的寬度,這取決于自身功能和內(nèi)容的情況。將它們保持在內(nèi)容寬度內(nèi)的好處是,當(dāng)用戶在寬屏顯示器上看頁面時,不需要來回掃視,將它們固定在瀏覽器上的好處是可以為導(dǎo)航元素提供更多的空間。

柵格化布局如何做到響應(yīng)式

圖片來源Intuit

在傳統(tǒng)的柵格化系統(tǒng)設(shè)計中,列的寬度和水槽的寬度是保持不變的,只是列的“數(shù)量”發(fā)生變化。

為什么要這么處理呢?這是為了讓設(shè)計更簡單。如果一組三張卡片分別放在桌面的四列上,那么在平板電腦上,會顯示兩張卡片,并把第三張卡片進(jìn)行折行顯示在第二行上。不需要做任何的調(diào)整,因為已經(jīng)知道它位于第四列上了。

在手機(jī)上,答案也很簡單,只需要一張卡片,其他的就會自動堆到下面的行中。如果你愿意,也可以變得有創(chuàng)意,選擇只在手機(jī)上顯示一張卡片,或者做一個水平滾動。這些列的自適應(yīng)對于代碼來說就是很簡單的參考。

實際上,web必須呈現(xiàn)任何瀏覽器的寬度。例如,有一個大顯示器,它可以看到1600像素寬的東西,實際上pc端的網(wǎng)頁設(shè)計是1200px寬,平板電腦上是768px寬,手機(jī)是360px寬。所以你會看到一個小于1200px的設(shè)計,有大量的留白。但是當(dāng)你的瀏覽器再小一個像素,1199px,會發(fā)生什么呢?

1. 固定網(wǎng)格

固定柵格示意

如果開發(fā)那邊寫了一個固定柵格,當(dāng)你從桌面縮小到平板電腦,就像是在900px的瀏覽器寬度時,你不會看到任何變化,設(shè)計就像是被剪掉了一樣。但當(dāng)達(dá)到768px臨界點時,設(shè)計馬上就會改變,平板電腦上的顯示效果就會好起來。如果繼續(xù)減小這個值,同樣的事情也會發(fā)生,在到達(dá)另一個臨界值之前,設(shè)計看起來都是不變的。

2. 網(wǎng)格

流動網(wǎng)格的示例

現(xiàn)在來看看流動網(wǎng)格的特點,當(dāng)窗口縮小時,內(nèi)容將動態(tài)的發(fā)生變化,文本會進(jìn)行換行,元素也會變窄。然而,這些元素在內(nèi)容寬度縮小到下一個臨界值之前,布局是不會變化的。

所以我想說的是,設(shè)計的臨界值只是一個更改布局的參考點。這就是為什么列寬和水槽在網(wǎng)格中不會改變的原因,因為我們想讓設(shè)計師在考慮布局時能夠更容易地創(chuàng)建一致性。

3. 混合網(wǎng)格

在實際項目中,使用流動網(wǎng)格和固定網(wǎng)格的組合也是常見的做法。網(wǎng)站通常是流動網(wǎng)格,因為它要去適應(yīng)各種不同終端的大小。

一些做的很酷的柵格系統(tǒng)

不需要太死板地去堅持傳統(tǒng)柵格套路,12、8、4這樣的分布,甚至不需要20px的水槽,下面是一些在設(shè)計中使用柵格系統(tǒng)做的很棒的設(shè)計靈感。

1. Invision’s Genome Project

可以看到,他們的設(shè)計故意不去使用任何的水槽,所以看起來是無縫的。

這個網(wǎng)站不僅設(shè)計的很好,他們還利用了在設(shè)計中展示他們自己的柵格系統(tǒng)來讓整體的設(shè)計變得更加酷炫。

2. Dropbox Design

他們沒有設(shè)計水槽和外邊距,相反,整個頁面被分成兩半,然后將內(nèi)容填充到這兩部分。

3. WordPress

WordPress創(chuàng)建賬號頁面

使用網(wǎng)格的方式取決于你自己。你可以在主要內(nèi)容部分使用網(wǎng)格,次要內(nèi)容則不使用。在Wordpress的例子中,頁面中間的部分使用柵格化設(shè)計,左側(cè)的側(cè)邊欄則沒有使用。

4. The Mockup Club

內(nèi)容和網(wǎng)格也并不總是從中間開始,對于模型網(wǎng)站,內(nèi)容在左邊也未嘗不可。

5. Instagram

我非常確定的說,Instagram的PC端是用上了6列柵格布局。

要點總結(jié)

寫這篇文章的目的是想提供一些關(guān)于如何在響應(yīng)式設(shè)計中使用柵格系統(tǒng),我知道對于我自己來說,我花了很多年的時間寫了大量的代碼來理解網(wǎng)格是如何工作的。我在YouYube上看了很多視頻,也閱讀了大量的文章,但每個人都在關(guān)注它為什么重要,卻不去注重到底怎么在自己的項目中使用這些原則。

你要做的最好的事情就是從現(xiàn)在開始注意那些優(yōu)秀設(shè)計是如何對齊元素的,你將會開始看到這些模式。為了幫助理解,這里有一些設(shè)計系統(tǒng)概述了它們的網(wǎng)格使用:

  • Google’s Material Design System(https://material.io/design/layout/responsive-layout-grid.html#columns-gutters-margins)
  • Intuit’s Design System(https://designsystem.quickbooks.com/foundations/responsive-column-grid/)
  • IBM’s Carbon Design System(https://www.carbondesignsystem.com/guidelines/layout#2x-grid-fundamentals)
  • …And here’s huge list of other systems you can look through(https://designsystemsrepo.com/design-systems/)

在完全理解了網(wǎng)格的工作原理之后,我已經(jīng)成為了一名更好的設(shè)計師,因為我知道我的設(shè)計將如何在臨界值之間進(jìn)行轉(zhuǎn)換。我也可以落地我的設(shè)計,使它們能夠有一個完美的像素對齊。這樣的規(guī)范帶來了更一致,更簡潔的設(shè)計,當(dāng)用戶從一個界面到另一個界面流轉(zhuǎn)時,這真的提升了產(chǎn)品的檔次。

我建議在你的設(shè)計中去應(yīng)用這些網(wǎng)格,并和開發(fā)一起,以相同的方式將它們落地,這將會是一個非常不錯的進(jìn)步。

 

原文:https://uxdesign.cc/responsive-grids-and-how-to-actually-use-them-970de4c16e01

作者:Christie Tang

譯者:彩云Sky,公眾號:彩云譯設(shè)計

本文由 @彩云Sky 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

專欄作家

彩云Sky;微信公眾號:彩云譯設(shè)計(ID:caiyunyisheji),人人都是產(chǎn)品經(jīng)理專欄作家,騰訊高級視覺設(shè)計師。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!