iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0

前言

昨天說了Flexbox基本排列概念,但還有flex容器的基本概念還沒討論,今天繼續來討論Flex Container吧!

Flexbox 組成

Flexbox包含兩個部件組成:

  • Flex Container 彈性容器
  • Flex Items 彈性項目

flex_terms

Flex Container

Flex Container是一種父系(parent)容器元素,
某個元素方框設定了 display: flex 或 display: inline-flex ,元素方框就會變為Flex Container,此元素本身跟其內的項目就會直接套用flexbox的設定,它的直接對應子元素會變成 Flex Items。

可以想像Flex Container是一個架子,我可以決定東西放置方向(水平排列的還是垂直),或是東西滿了能不能自動跳下一層(自動換行),以及如何把裡面的東西對齊。

補充:display: flex 和 display: inline-flex的差別跟display: block 與 display: inline-block 類似。

.container {
  display: flex;      
        /* 或 inline-flex */
}

Flex Container 主要屬性:

屬性 說明
flex-direction 主軸方向(row、row-reverse、column、column-reverse)
flex-wrap 是否換行(nowrap、wrap、wrap-reverse)
flex-flow flex-direction + flex-wrap 的縮寫
justify-content 沿主軸對齊項目(水平或垂直,依 direction 而定)
align-items 沿交叉軸對齊單行項目
align-content 沿交叉軸對齊多行項目(只有多行時有效)

Flex Item

Flex Item 為 Flex Container 其內部的子元素,但 Flex Container 子元素的子元素就不能使用到Flex Item 屬性。

若是 Flex Container 是架子,那Flex Item 就是放在架子上的盒子,盒子它們可以被壓縮、拉長、自動對齊,甚至可以更改順序或大小。

Flex Item 主要屬性:

屬性 說明
order 控制項目顯示順序(數字越小越先出現)
flex-grow 項目在剩餘空間中如何放大(默認 0)
flex-shrink 項目在空間不足時如何縮小(默認 1)
flex-basis 項目的初始大小(可為 px、%、auto 等)
flex flex-grow + flex-shrink + flex-basis 的縮寫
align-self 覆蓋 align-items,針對單一項目對齊

上一篇
【Day 14】Flexbox 基本概念
系列文
欸,貓咪你不能去那裡!CSS新手學習之路15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言