嘿那裡!準備好深入研究 CSS 中最酷、最強大的工具之一了嗎?今天,我們將探索 Flexbox。如果您曾經在以簡潔且響應迅速的方式對齊項目或分配空間方面遇到困難,那麼 Flexbox 是您最好的新朋友。
Flexbox(靈活框佈局)是一種一維佈局系統,可讓您控制容器內元素的對齊、間距和分佈 - 即使這些元素的大小未知或動態。
將 Flexbox 視為一個工具箱,用於建立可以根據可用空間拉伸、收縮或對齊的佈局。
要開始使用 Flexbox,您只需在容器上設定 display: flex 即可。一旦你這樣做了,該容器的所有直接子代都會變成彈性項目,它們將立即開始表現不同。
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container { display: flex; }
現在,.flex-container 內的所有項目都是 Flex 項目,可以輕鬆操作。
預設情況下,Flexbox 會將項目排列成行(水平),但如果您希望它們排列成列(垂直)怎麼辦? Flexbox 透過 flex-direction 屬性為您提供完全控制。
.flex-container { display: flex; flex-direction: column; }
現在,物品將垂直堆疊!
假設您有三件物品,並且您想將它們均勻地分佈在容器中。這就是 justify-content 派上用場的地方。
.flex-container { display: flex; justify-content: space-between; }
現在,物品將在容器內均勻分佈。
justify-content 控制水平對齊,而 align-items 負責垂直對齊(或沿橫軸)。以下是您的選擇:
.flex-container { display: flex; align-items: center; }
現在,所有項目都將在容器內垂直居中。
有時,您希望某些物品增加、縮小或具有固定的起始尺寸。 flex-grow、flex-shrink 和 flex-basis 屬性可讓您控制該行為:
範例:
.item { flex-grow: 1; flex-shrink: 0; flex-basis: 100px; }
這可確保項目從 100 像素開始,但如果需要,它可以增長以填充額外的空間,而不會縮小。
讓我們用一個例子將所有這些放在一起!
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container { display: flex; flex-direction: row; justify-content: space-around; align-items: center; height: 300px; background-color: #f0f0f0; } .item { background-color: #4CAF50; padding: 20px; color: white; flex-grow: 1; }
在此範例中:
Flexbox 消除了我們過去在 CSS 中遇到的佈局設計的複雜性。不再有浮動,不再擔心清理,響應式設計變得更簡單!
裡多伊‧哈桑
以上是Flexbox – 對齊和分配空間的現代方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!