主軸由flex-direction決定,justify-content控制主軸對齊,align-items和align-content分別控制交叉軸上單行或多行元素的對齊方式,從而實現(xiàn)靈活布局。

在使用 CSS Flexbox 布局時,理解主軸(main axis)和交叉軸(cross axis)是掌握其布局邏輯的核心。它們決定了子元素的排列方向與對齊方式。
Flexbox 是一種一維布局模型,依賴于兩個相互垂直的軸:主軸和交叉軸。
? 主軸(main axis)是 flex 容器中主要的布局方向,子元素沿著主軸依次排列。這兩個軸的方向不是固定的,而是由 flex-direction 屬性決定的:
flex-direction: row(默認(rèn)值):主軸為水平方向(從左到右),交叉軸為垂直方向(從上到下)。flex-direction: column:主軸為垂直方向(從上到下),交叉軸為水平方向(從左到右)。row-reverse 和 column-reverse 會反轉(zhuǎn)主軸方向,交叉軸隨之調(diào)整。
該屬性控制子元素在主軸方向上的對齊方式,適用于主軸有剩余空間時的分配。
立即學(xué)習(xí)“前端免費學(xué)習(xí)筆記(深入)”;
?flex-start:元素向主軸起點對齊。flex-end:元素向主軸終點對齊。center:元素在主軸居中。space-between:兩端對齊,元素間間距相等。space-around:每個元素周圍有相等空間。flex-direction: row0:所有元素之間的間距完全相等。例如,當(dāng) flex-direction: row 時,flex-direction: row2 控制的是水平方向的對齊;若改為 flex-direction: row3,則控制垂直方向。
flex-direction: row4 決定單行子元素在交叉軸上的對齊方式。
flex-start:元素向交叉軸起點對齊。flex-end:向交叉軸終點對齊。center:在交叉軸居中。flex-direction: row8(默認(rèn)):拉伸以填滿容器(無固定尺寸時)。flex-direction: row9:按文本基線對齊。當(dāng)容器內(nèi)有多行 flex 元素(啟用 flex-direction: column0)時,flex-direction: column1 控制行與行之間在交叉軸上的分布,類似 flex-direction: row2 在主軸的作用。
flex-direction: row4 影響每行內(nèi)的元素,而 flex-direction: column1 影響行本身的位置。
常見場景如居中一個元素:
設(shè)置容器為 flex,并使用flex-direction: column5 和 flex-direction: column6,即可實現(xiàn)水平垂直居中,無需關(guān)心元素尺寸。導(dǎo)航欄布局:
使用flex-direction: row 水平排列菜單項,通過 flex-direction: column8 讓首尾項貼邊,中間均勻分布。卡片網(wǎng)格:
用flex-direction: column0 允許換行,結(jié)合 row-reverse0 控制多行卡片的垂直對齊。
基本上就這些。只要搞清主軸由 flex-direction 決定,其余對齊屬性都圍繞這個方向展開,F(xiàn)lexbox 的行為就很容易預(yù)測和控制。
以上就是css flexbox主軸交叉軸理解與應(yīng)用的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進(jìn)程會占用資源并降低性能。幸運的是,許多工具可以讓 Windows 保持平穩(wěn)運行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
技術(shù)交流群
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號