在 RWD(響應式設計)時,Flexbox 幾乎是必備技能。它能夠輕鬆控制元素的排列、對齊、分配空間,比傳統的 float 或 table 排版更直觀。
只要在父容器加上 display: flex;
,子元素就會變成「彈性項目」,可以根據設定自動調整排列方式。
.container {
display: flex; /* 啟用 Flexbox */
}
row
(水平,預設)row-reverse
column
(垂直)column-reverse
flex-start
(靠左/上)flex-end
(靠右/下)center
(置中)space-between
(平均分散,首尾貼齊)space-around
(平均分散,兩側留空)space-evenly
(平均分散,間距完全相等)stretch
(撐滿,預設)flex-start
flex-end
center
baseline
nowrap
(不換行,預設)wrap
(超出時換行)wrap-reverse
flex: 1;
表示平均分配剩餘空間<div class="container">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
.container {
display: flex;
justify-content: space-between; /* 三欄平均分散 */
align-items: center; /* 垂直置中 */
height: 200px;
border: 2px solid #333;
}
.box {
flex: 1; /* 三欄自動平分 */
margin: 5px;
background: #4cafef;
color: #fff;
font-size: 24px;
text-align: center;
padding: 20px;
}
試著用 Flexbox 做一個:
👉 明天(Day 8)我們就會進入Grid 佈局,和 Flexbox 做比較,讓你能應對更複雜的版型設計。