返回

CSS 布局的奧秘:探索常見佈局與技巧

前端

Flexbox 與 Grid:現代佈局的利器

在 CSS 中,Flexbox 與 Grid 是廣泛被採用的佈局技術。

Flexbox 全稱 Flexbox Layout Module,又稱 Flex,允許您在單一維度(橫向或縱向)排列元素,並支持輕鬆定義元素的尺寸與間距。其靈活性使 Flexbox 成為最受歡迎的佈局方法之一。

Grid 則是新世代的佈局技術,提供了更強大的功能與控制。Grid 允許您在兩個維度(橫向與縱向)排列元素,並提供許多方便的屬性來調整元素的位置與大小。

無論是 Flexbox 或 Grid,這些技術都具備響應式的特性,即使在不同螢幕尺寸下,都能夠維持網頁佈局的完整與美觀。

Flexbox 主要透過四個關鍵屬性來定義元素的排列與尺寸:

  • Flex-Direction:定義元素在單一維度上的排列方向,可以是 row(橫向)或 column(縱向)。
  • Justify-Content:定義元素在容器內的水平對齊方式。
  • Align-Items:定義元素在容器內的垂直對齊方式。
  • Flex:定義元素的尺寸比例與增長方式。
  1. 使用 Flexbox 輕鬆實現水平或垂直排列。
  2. 透過 Justify-Content 控制元素在容器內的水平對齊方式。
  3. 利用 Align-Items 調整元素在容器內的垂直對齊方式。
  4. 使用 Flex 來定義元素的尺寸比例與增長方式。
  5. Flexbox 可用來製作彈性頁面,方便響應式設計。

Grid 透過定義網格容器和網格單元來排列元素。網格容器定義了網格的大小和佈局,而網格單元則定義了每個元素的位置和大小。

Grid 主要透過以下屬性來定義網格容器和網格單元:

  • Grid-Template-Columns:定義網格容器的列寬。
  • Grid-Template-Rows:定義網格容器的行高。
  • Grid-Column-Start:定義網格單元開始的列號。
  • Grid-Column-End:定義網格單元結束的列號。
  • Grid-Row-Start:定義網格單元開始的行號。
  • Grid-Row-End:定義網格單元結束的行號。
  1. 使用 Grid 輕鬆定義網格佈局。
  2. 透過 Grid-Template-Columns 和 Grid-Template-Rows 控制網格的大小和佈局。
  3. 利用 Grid-Column-Start、Grid-Column-End、Grid-Row-Start 和 Grid-Row-End 來定義網格單元的位置和大小。
  4. 使用 Grid 製作複雜的網格佈局。
  5. Grid 可用來製作響應式頁面,方便響應式設計。