開啟 Flex 版面模式。將一個元素設定為 Flex 容器,其直接子元素將成為 Flex 項。
.container { display: flex; }
定義主軸方向(項目排列方向)。可選值:
.container { flex-direction: row | row-reverse | column | column-reverse; }
控制當一行空間不足時是否換行。可選值:
.container { flex-wrap: nowrap | wrap | wrap-reverse; }
定義主軸上的對齊方式。可選值:
.container { justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly; }
定義交叉軸上的對齊方式。可選值:
.container { align-items: stretch | flex-start | flex-end | center | baseline; }
僅適用於多行Flex版面(flex-wrap:wrap),定義多行項目在橫軸上的對齊方式。可選值:
.container { display: flex; }
定義項目的順序。值越小,階數越高。預設值為 0。
.container { flex-direction: row | row-reverse | column | column-reverse; }
定義項目的放大比例。預設值為0,表示不放大。如果所有項目都設定為非零值,則剩餘空間按比例分配。
.container { flex-wrap: nowrap | wrap | wrap-reverse; }
定義項目的收縮率。預設為1,意味著它可以收縮。如果所有項目都設定為非零值,它們會按比例縮小以防止溢出容器。
.container { justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly; }
定義分配剩餘空間之前項目的初始大小。接受長度、百分比、自動(預設)或內容值。
.container { align-items: stretch | flex-start | flex-end | center | baseline; }
flex-grow、flex-shrink 和 flex-basis 的簡寫。預設為 0 1 自動。
.container { align-content: stretch | flex-start | flex-end | center | space-between | space-around; }
覆蓋容器的align-items屬性以定義單一項目在橫軸上的對齊方式。可選值與align-items相同。
.item { order: <integer>; }
開啟網格佈局模式。將一個元素設定為 Grid 容器,其直接子元素將成為 Grid 項目(單元格)。
.item { flex-grow: <number>; /* Default is 0 */ }
定義網格的列軌道和行軌道的大小。接受長度、百分比、fr(分數單位,表示網格空間的分數)或auto值。您也可以使用repeat()函數建立重複軌道,並使用minmax()函數定義軌道的最小和最大尺寸。
.item { flex-shrink: <number>; /* defaults to 1 */ }
透過命名項目並用字串描述網格結構來定義網格佈局的區域。項目名稱使用 .代表一個空白單元格。
.item { flex-basis: <length> | <percentage> | auto | content; }
設定網格中項目之間的間隙。接受長度或百分比值。
.container { display: flex; }
定義自動填滿網格時新新增的行或列的軌道大小。當項目超出定義的網格範圍時生效。
.container { flex-direction: row | row-reverse | column | column-reverse; }
控制網格項目如何自動填滿和排列。可選值:
.container { flex-wrap: nowrap | wrap | wrap-reverse; }
手動指定網格中項目的開始和結束位置。
.container { justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly; }
同時設定 grid-row-start、grid-column-start、grid-row-end 和 grid-column-end 的簡寫屬性,或引用 grid-template-areas 中定義的區域名稱。
.container { align-items: stretch | flex-start | flex-end | center | baseline; }
在某些情況下,我們可以結合 CSS Grid 和 Flexbox 的優點來建立更複雜的響應式佈局。
.container { align-content: stretch | flex-start | flex-end | center | space-between | space-around; }
首先,CSS Grid 用於建立具有自適應列寬的網格佈局。每個網格項目(子元素)都使用內部的 Flexbox 來垂直居中內容。當螢幕寬度小於 768px 時,媒體查詢會切換為單列佈局以適應行動裝置。
選擇使用 Flexbox 還是 Grid 通常取決於特定需求:
以上是CSS Flexbox 和 Grid:建構響應式佈局的藝術的詳細內容。更多資訊請關注PHP中文網其他相關文章!