網頁結構
垂直結構

網頁結構學 - 水平

在我們進行網頁設計圖分析的時候,我們會發現網頁的結構是由一個個的區塊所組成的,而這些區塊又可以再細分為更小的區塊,這些區塊之間的關係就像是一個樹狀結構,而這個樹狀結構就是我們所謂的網頁結構學。

我們利用這種結構之間的關係和視覺錯覺,可以很好的控制我們元件的位置和大小,讓我們的網頁看起來不但工整,還符合前端工程師的結構化設計。

網頁結構學的目的是讓我們的網頁看起來更有組織,更有條理,也可以讓設計者知道如何合理的分配網頁的空間。

水平分配

水平結構就是我們網頁的寬度,我們可以利用水平結構來控制我們網頁的寬度,讓我們的網頁看起來更有組織,這是非常常用也是非常重要的一個結構。

以下範例都是基於 Flex 基礎下實現,但我並沒有把全部可能的排列組合列出來,而是希望大家更專注在實際的應用上,而不是細節上。

平均分配

AUTO FILL

AUTO FILL

比例分配

1/4

AUTO FILL

3/5

2/5

根據上面的例子,我們可以看到我們可以利用比例來控制我們網頁的寬度,這樣的好處是我們可以很方便的控制我們網頁的寬度,而且不用擔心網頁的寬度會超出我們的螢幕。

在面對不中解析度和裝置的時候,我們依照不同情境來他配不同的分配組合,以下幾種是常見的組合。


單邊鎖定

和按比例分配的差異在於,鎖定一邊的寬度,另外一邊的寬度會自動填滿剩下的寬度(試試拖曳改變以下盒子的寬度)

240px

AUTO FILL

單邊鎖定 + 最低寬度

自由寬度的內容搭配最低寬度使用,會讓內容擁有最低限度的展示,而不至於因為寬度太小導致內容無法正常顯示, 同時會發現,當我們改變 parent 寬度時,鎖定在一定寬度的區塊,竟然也被改變了。

240px

AUTO FILL + min width 350px

單邊鎖定 + 最低寬度 + 無壓縮

即便在鎖定寬度的情況下,若寬度不足,固定管理的一方依然會被壓縮,這時候我們可以利用 flex-shrink: 0 來避免這種情況發生。

240px shrink 0

AUTO FILL + min width 350px

全部按照比例

按照百分比來控制分配,常見但不實用,因為會造成內容的壓縮,而且不易控制。

1/3

2/3

全部鎖定 + 等比壓縮

全部都鎖定寬度的時候,會出現壓縮比例的情況,如以下例子,即便設定了寬度均為 600px, 但是因為 parent 寬度不足,所以裡面的 區塊也會等比壓縮。

600px

600px

全部鎖定 + 無壓縮

全部都鎖定寬度,則會變成一個固定寬度的區塊,這個區塊的寬度不會隨著螢幕的寬度改變,必要時會出現捲軸。

600px shrink 0

600px shrink 0

水平對齊

對其左右兩邊

如果元件在水平的分佈並不需要填滿,而是需要對齊,以下幾種是常見且實用的對齊方式。

300px

100px

絕對置中

將子元件集合並置中

300px

100px

平均分散

子元件的距離都是相等的。

300px

100px

對齊右邊

在有些情況下,我們需要一律靠右對齊。

300px

100px

自然對齊(左)

如果什麼都不設,自然就是左對齊

300px

100px


讓我們來休息一下,繼續看下一篇吧。