flex布局
2019-07-28 本文已影响0人
饥人谷_阿银
display:flex
一个容器 设置了display:flex
属性,就定义了一个flex容器.它的直接子元素会接受这个flex环境.
flex-direction
.container{
flex-direction: row | row-reverse | column | column-reverse;
}
设置子元素在父容器中的位置
1.row默认值,水平从左到右
2.row-reverse,从右到左
3.column,垂直从上到下
4.column-reverse,垂直从下到上
flex-wrap
设置换行
.container{
flex-wrap: nowrap | wrap | wrap-reverse;
}
依次为:不换行,换行,换行切颠倒顺序
flex-flow
flex-direction
和flex-wrap
的缩写,默认值row nowrap
flex-flow: <'flex-direction'> || <'flex-wrap'>
justify-content
设置子元素在水平方向上的对齐方式
.container{
justify-content: flex-start | flex-end | center | space-between | space-around;
}
分别是水平靠左,水平靠右,水平居中,均匀分布,均匀分布且两端保留子元素间距一半(空间包裹)
align-items
设置子元素在垂直方向上的对齐方式
.container{
align-items: flex-start | flex-end | center | baseline | stretch;
}
分别是垂直靠上,垂直靠下,垂直居中,垂直基线对齐,垂直方向拉伸
align-content
设置子元素整体内容的在垂直方向上的对齐方式
.container{
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
分别是整体靠上,整体靠下,整体居中,整体垂直拉伸,整体垂直均匀排列,整体均匀分布且垂直两端保留间距一半空间
用在子元素上的属性
order
默认情况下flex order会按照书写顺序排列,可以通过order属性改变,数值小的在前面,也可以是负数.
.item {
order: <integer>;
}
flex-grow
.item {flex-grow: 1}
按比例瓜分父元素剩余的空间,1即分一份.不写默认是0
flex-basis
基准宽度
flex-shrink
按比例吸收超出的空间.不写默认是1
flex
flex-grow,flex-shrink,flex-basis的缩写
.item{
flex: none | [ <'flex-grow'> <'flex-shrink'> || <''flex-basis'>]
}
aglin-self
单独修改自身的属性