使用 align-self 針對特定 Item 在 Cross Axis 對齊
align-items 是在父層 Box 設定,會影響所有子層 Item,若想只設定特定子層 Item 的 align-items 設定,或者在某子層 Item 覆蓋父層 Box 的 align-items 設定,則可使用 align-self。
align-items 是在父層 Box 設定,會影響所有子層 Item,若想只設定特定子層 Item 的 align-items 設定,或者在某子層 Item 覆蓋父層 Box 的 align-items 設定,則可使用 align-self。
若要在不改變 HTML 下調整子層 Item 顯示順序,可使用 order 改變。
若要同時設定 flex-direction 與 flex-wrap,可使用 flex-flow 縮寫一行完成。
若希望 Browser 能自動均分父層 Box 在 Cross Axis 剩餘高度,可使用 align-content 的 space 系列設定。
在 Cross Axis 處理對齊除了 align-items 外,尚有 align-content,兩者非常接近,唯 align-items 是處理 Item 對於 Flex Line,而 align-content 是處理 Flex Line 對於 Box。
各自向左右兩側對齊為實務上常見需求,CSS 可由多種方式實現。
除了能使用 align-items: center 垂直置中外,事實上也能使用 flex-wrap: wrap 搭配 align-content: center 垂直置中。
Flexbox 的 align-items 預設為 stretch,這也使得 Flexbox 可自動 stretch 子層 item 使其等高。
display: flex 與 display: inline-flex 對其子層 Item 都能使用 Flexbox,但對父層 Box 本身處理則不同,flex 會維持 Block,而 inline-flex 會成為 Inline。
Flexbox 的 align-items 與 align-content 非常類似,都是在處理 Cross Axis 對齊,事實上兩者並不違背,還可一起使用。