Stories

Detail Return Return

3分鐘搞定:Flex 佈局 - Stories Detail

flex 佈局原理

全稱 flexible box,彈性佈局。

如何開啓:為元素添加 display: flex

開啓 flex 佈局的元素,稱為 flex 容器(flex container),其子元素成為容器成員,稱為 flex 項目。

flex 佈局原理:通過給父盒子添加 display: flex,來控制盒子的位置和排列方式。

flex 佈局父盒子常見屬性

flex-direction

設置主軸方向

屬性值 含義
row 默認值,從左到右
row-reverse 從右到左
column 從上到下
column-reverse 從下到上

justify-content

設置主軸子元素排列方式

屬性值 含義
flex-start 默認值,從頭開始
flex-end 從尾部開始
center 居中
space-around 平分剩餘空間
space-between 兩側子元素貼邊,再平分剩餘空間

flex-wrap

設置子元素是否換行

默認不換行,若子盒子寬度和大於父盒子,則會收縮!

屬性值 含義
wrap 換行
nowrap 默認值,不換行

align-items

設置子元素在側軸上的排列方式(子元素單行)

屬性值 含義
flex-start 側軸頭部開始
flex-end 側軸尾部開始
center 側軸居中
stretch 默認值,拉伸(拉滿整個側軸),若子元素設置了高度則失效

align-content

設置子元素在側軸上的排列方式(子元素多行)

屬性值 含義
flex-start 默認值,側軸頭部開始
flex-end 側軸尾部開始
center 側軸居中
stretch 子元素高度平分父元素高度(需要子元素沒有設置高度)
space-around 平分側軸空間
space-between 側軸兩側貼邊再平分剩餘空間

flex-flow

flex-directionflex-wrap 屬性的複合寫法

son {
  flex-flow: row wrap;
}

flex 佈局子盒子常見屬性

flex

flex 屬性其實是 flex-growflex-shrinkflex-basis 三個屬性的簡寫。

flex-grow 屬性值為一個數字,用於設置彈性盒子的擴展比例,即盒子佔剩餘空間的份數,默認為 0。常見的 flex: 1flex-grow 為 1。

flex-shrink 屬性值為一個數字,用於設置盒子的收縮比例,當子盒子的寬度之和大於父盒子時才會收縮。

flex-basis 用於設置子盒子的初始長度。

span {
  flex: 1;
}

.son {
  flex: 0 0 33.33%;
}

align-self

單獨設置某個子盒子在側軸的排列方式,它會覆蓋 align-items 屬性。默認值為 auto,表示繼承父盒子的 align-items 屬性,其餘屬性值與 align-items 相同。

order

定義子盒子在主軸上的排列順序。默認值為 0,值越小越靠前,可以為負數。

.son {
  order: -3;
}
user avatar grewer Avatar alibabawenyujishu Avatar haoqidewukong Avatar zaotalk Avatar yinzhixiaxue Avatar nihaojob Avatar freeman_tian Avatar littlelyon Avatar zourongle Avatar linx Avatar huajianketang Avatar anchen_5c17815319fb5 Avatar
Favorites 188 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.