弹性布局是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。 使用方法:父元素设置display:flex
注意:父元素属性设置了flex布局其子元素的float,clear,vertical-align将无效
在flex布局中,分为主轴和侧轴两个方向,也叫做行和列,x轴和y轴
flex-direction设置主轴方向 通过flex-direction设置谁为主轴,剩下的就是侧轴,而我们的子元素(项目)就是跟着主轴来排列的
flex-direction 调整子元素的排列方向(默认水平方向row)column(垂直)
.main{
width:400px;
height:300px;
border:1px solid red;
margin: 0 auto;
display: flex;
flex-direction:column;//
}
justify-conten设置主轴上的子元素排列方式
space-between左右的盒子贴近父盒子,中间的平均分布空白间距
space-around每个盒子平均分配父元素留下的左右间距
align-items:设置侧轴上的子元素排列方式(单行)*
flex-warp控制是否换行
align-content设置侧轴上的子元素排列方式(多行) 前提:必须设置父元素display:flex flex-direction:row
center
space-around
flex-flow 该属性是flex-direction和flex-wrap属性的复合属性
/*主轴方向x,超过换行*/
flex-flow:row wrap
值 | 描述 |
---|---|
center | 垂直居中 |
flex-start | 顶部对齐 |
flex-end | 底部对齐 |
注意: Internet Explorer 和 Safari 浏览器不支持 align-self 属性。