flex布局 -- 彈性盒模型
display: flex; 就會讓其變成彈性盒子
當把一個元素的 display 屬性設定為 flex 或者 inline-flex 后,它就成了一個容器,
flex 與 inline-flex 的關系就類似 block 與 inline-block 的關系,定義里容器是行內元素還是塊級元素,
常見屬性:
有六個常用屬性設定在容器上,分別為:
- flex-direction
- flex-wrap
- flew-flow
- justify-content
- align-items
- align-content
1.flex-direction屬性
flex-direction 屬性設定容器主軸的方向(改變彈性元素方向)
.wrap{
flex-direction:row | row-reverse | column | column=reverse;
}
包含四個屬性值:
row: 默認值,表示沿水平方向,由左到右,
row-reverse :表示沿水平方向,由右到左
column:表示垂直方向,由上到下
column-reverse:表示垂直方向,由下到上
2.flex-warp屬性
flex-wrap屬性用于設定當專案在容器中一行無法顯示的時候如何處理,(控制彈性元素溢位換行處理)
.wrap{
flex-wrap:nowrap | wrap | wrap-reverse;
}
包含三個屬性值:
nowrap:表示不換行
wrap:正常換行,第一個位于第一行的第一個

wrap-reverse:向上換行,第一行位于下方

3.flex-flow屬性
flex-flow屬性是flex-deriction和flex-wrap屬性的簡寫,默認值為[row nowrap];,
第一個屬性值為flex-direction的屬性值
第二個屬性值為flex-wrap的屬性值
.warp{
flex-flow: column wrap;
}
4.justify-content 屬性
justify-content屬性用于設定專案在容器中的對齊方式,(主軸元素的多種排列方式)
.wrap{
justify-content: flex-start | flex-end | center |space-between | space-around
}
該屬性主要要五個屬性值:
flex-start:默認值,左對齊(都與主軸位置有關)
flex-end:右對齊
center:居中對齊
space-between:兩端對齊

space-around:每個專案兩側的間距相等

5.align-items 屬性
align-items定義了專案在交叉軸上是如何對齊顯示的(交叉軸元素的多種排列方式)
.wrap{
align-items:flex-start | flex-end | center | baseline | stretch
}
該屬性主要有五個屬性值:(以交叉軸從上向下為例)
flex-start:交叉軸的起點對齊
flex-end 交叉軸的終點對齊
center 交叉軸居中對齊
baseline 專案的第一行文字的基線對齊
stretch:默認值:如果專案未設定高度或者高度為auto,將占滿整個容器的高度
6.align-content屬性
align-content屬性定義了多根軸線的對齊方式,如果專案只有一根軸線,該屬性不起作用,(多行元素在交叉軸的排列方式)
.box {
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
該屬性可能取6個值,
flex-start:與交叉軸的起點對齊,
flex-end:與交叉軸的終點對齊,
center:與交叉軸的中點對齊,
space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布,
space-around:每根軸線兩側的間隔都相等,所以,軸線之間的間隔比軸線與邊框的間隔大一倍,
stretch(默認值):軸線占滿整個交叉軸,
7.align-self 屬性
align-self屬性表示當前專案可以和其他專案擁有不一樣的對齊方式,它有六個可能的值,默認值為auto
auto:和父元素align-self的值一致
flex-start:頂端對齊
lex-end:底部對齊
center:豎直方向上居中對齊
baseline:item第一行文字的底部對齊
stretch:當item未設定高度時,item將和容器等高對齊
.item{
align-self: flex-start | flex-end | center | baseline | stretch
}

8.flex-grow 屬性
flex-group屬性用來控制當前專案是否放大顯示,默認值為0,表示即使容器有剩余空間也不放大顯示,如果設定為1,則平均分攤后放大顯示,
.green-item{
order:-1;
flex-grow:2;
}

9.flex-shrink 屬性
flex-shrink屬性表示元素的縮小比例,默認值為1,如果空間不夠用時所有的專案同比縮小,如果一個專案的該屬性設定為0,則空間不足時該專案也不縮小,
.green-item{
flex-shrink:2;
}
10.flex-basis屬性
flex-basis屬性表示表示專案占據主軸空間的值,默認為auto,表示專案當前默認的大小,如果設定為一個固定的值,則該專案在容器中占據固定的大小,
.green-item{
flex-basis:100px;
//或者 flex-basis:200px;
}
11.flex屬性
flex屬性是 flex-grow屬性、flex-shrink屬性、flex-basis屬性的簡寫,默認值為:0 1 auto;
.item{
flex:(0 1 auto) | auto(1 1 auto) | none (0 0 auto)
}
12.order屬性
order屬性設定項目排序的位置,默認值為0,數值越小越靠前
.green-item{
order:-1;
}
13.小手圖示的樣式
cursor: pointer;
收藏 關注 評論
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/542392.html
標籤:其他
上一篇:flex布局 -- 彈性盒模型
