flex布局

一.概念

是Flexible Box的縮寫,即為“彈性布局”,用來為盒裝模型提供最大的靈活性。

二.內(nèi)容

父組件屬性

1.flex-direction:決定主軸的方向,有四個值:

(1)row:從左到右

.box{

display:flex;

text-align:center;

flex-direction:row;

}

flex-direction:row

(2)row-reverse:從右到左

.box{

display:flex;

text-align:center;

flex-direction:row-reverse;

}


flex-direction:row-reverse

(3)column:從上到下

.box{

display:flex;

text-align:center;

flex-direction:column;

}

flex-direction:column

(4)column-reverse:從下到上

.box{

display:flex;

text-align:center;

flex-direction:column-reverse;

}

flex-direction:column-reverse

2.flex-wrap:如果一條軸線排不下,如何換行。

(1)nowrap:不換行

.box{

display:flex;

text-align:center;

wrap:nowrap;

}

flex-wrap:nowrap

(2)wrap:換行

.box{

display:flex;

text-align:center;

wrap:wrap;

}

flex-wrap:wrap

(3)wrap-reverse:第二行在下方

.box{

display:flex;

text-align:center;

wrap:wrap-reverse;

}

flex-wrap:wrap-reverse

3.justify-content:定義了項目在主軸上的對齊方式

(1)flex-start:左對齊

.box{

display:flex;

width:100%;

justify-content:flex-start;

}

justify-content:flex-start

(2)flex-end:右對齊

.box{

display:flex;

width:100%;

justify-content:flex-end;

}

justify-content:flex-end

(3)center:居中

.box{

display:flex;

width:100%;

justify-content:center;

}

justify-content:center

(4)space-around:兩端對齊

.box{

display:flex;

width:100%;

justify-content:space-between;

}

justify-content:space-between

(5)space-around:每個項目兩側(cè)間隔相等

.box{

display:flex;

width:100%;

justify-content:space-around;

}

justify-content:space-around

4.align-items:定義項目在交叉軸上如何對齊

(1)flex-start:與交叉軸的起點對齊

.box{

display:flex;

align-items:flex-start;

}

align-items:flex-start

(2)flex-end:與交叉軸的終點對齊

.box{

display:flex;

align-items:flex-end;

}

align-items:flex-end

(3)flex-end:與交叉軸的中點對齊

.box{

display:flex;

align-items:center;

}

align-items:center

(4)baseline:項目的第一行文字的基線對齊

.box{

display:flex;

align-items:baseline;

}

align-items:baseline

(5)stretch:如果項目未設(shè)置高度或設(shè)為auto,將占滿整個容器的高度

.box{

display:flex;

align-items:stretch;

}

align-items:stretch

5.align-content:定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用

(1)flex-start:與交叉軸的起點對齊

.box{

background:#CAFF70;

height:600px;

width:500px;

display:flex;

flex-direction:row;

flex-wrap:wrap;

align-content:flex-start;

}

align-content:flex-start

(2)flex-end:與交叉軸的終點對齊

align-content:flex-end

(3)center:與交叉軸的中點對齊

align-content:center

(4)space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布

align-content:space-between

(5)space-around:每根軸線兩側(cè)的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍

align-content:space-around

(6)stretch(默認值):軸線占滿整個交叉軸

align-content:stretch

項目的屬性

1.flex-grow:定義項目的放大比例,默認值為0,即如果存在剩余空間,也不放大。

.box{

display:flex;

flex-direction:row;

flex-grow:1;

flex-wrap:wrap;

}

.div1{

background:#E066FF;

margin:10px;

font-size:60px;

flex-grow:5;

}

.div2{

background:#BBFFFF;

margin:10px;

font-size:60px;

}

.div3{

background:#F08080;

margin:10px;

font-size:120px;

flex-grow:4;

}

.div4{

background:#FFC1C1;

margin:10px;

font-size:60px;

}

.div5{

background:#8F8F8F;

margin:10px;

font-size:60px;

flex-grow:3;

}

flex-grow

2.align-self:允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items屬性。默認值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch

.item{align-self:auto|flex-start|flex-end|center|baseline|stretch;}

參考資料:http://www.itdecent.cn/p/4290522e1560

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • H5移動端知識點總結(jié) 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,832評論 0 26
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,730評論 0 6
  • flex 1,flex布局又叫彈性布局,一個元素為flex布局時,子元素的float、clear和vertical...
    果粒橙沒有粒閱讀 531評論 0 4
  • 點這里 http://caibaojian.com/demo/flexbox/flex-direction.htm...
    木易先生灬閱讀 764評論 0 1
  • 一座城,見證了歷史浮沉間的悲歡離合,回蕩過一個朝代由萬丈繁華到山河破碎的哀婉悲鳴。古城屹立千年,在歲月的變遷中洗去...
    林清洛閱讀 2,074評論 11 7

友情鏈接更多精彩內(nèi)容