display:flex
一個容器 設(shè)置了display:flex
屬性,就定義了一個flex容器.它的直接子元素會接受這個flex環(huán)境.
flex-direction
.container{
flex-direction: row | row-reverse | column | column-reverse;
}
設(shè)置子元素在父容器中的位置
1.row默認值,水平從左到右
2.row-reverse,從右到左
3.column,垂直從上到下
4.column-reverse,垂直從下到上
flex-wrap
設(shè)置換行
.container{
flex-wrap: nowrap | wrap | wrap-reverse;
}
依次為:不換行,換行,換行切顛倒順序
flex-flow
flex-direction
和flex-wrap
的縮寫,默認值row nowrap
flex-flow: <'flex-direction'> || <'flex-wrap'>
justify-content
設(shè)置子元素在水平方向上的對齊方式
.container{
justify-content: flex-start | flex-end | center | space-between | space-around;
}
分別是水平靠左,水平靠右,水平居中,均勻分布,均勻分布且兩端保留子元素間距一半(空間包裹)
align-items
設(shè)置子元素在垂直方向上的對齊方式
.container{
align-items: flex-start | flex-end | center | baseline | stretch;
}
分別是垂直靠上,垂直靠下,垂直居中,垂直基線對齊,垂直方向拉伸
align-content
設(shè)置子元素整體內(nèi)容的在垂直方向上的對齊方式
.container{
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
分別是整體靠上,整體靠下,整體居中,整體垂直拉伸,整體垂直均勻排列,整體均勻分布且垂直兩端保留間距一半空間
用在子元素上的屬性
order
默認情況下flex order會按照書寫順序排列,可以通過order屬性改變,數(shù)值小的在前面,也可以是負數(shù).
.item {
order: <integer>;
}
flex-grow
.item {flex-grow: 1}
按比例瓜分父元素剩余的空間,1即分一份.不寫默認是0
flex-basis
基準(zhǔn)寬度
flex-shrink
按比例吸收超出的空間.不寫默認是1
flex
flex-grow,flex-shrink,flex-basis的縮寫
.item{
flex: none | [ <'flex-grow'> <'flex-shrink'> || <''flex-basis'>]
}
aglin-self
單獨修改自身的屬性