chapter11——flex弹性布局

128 阅读2分钟

flex布局(弹性布局):

1、以容器为单位,开启了flex布局的容器叫弹性盒子(flex容器)
2、开启flex以后,容器内容器默认水平排列
3flex容器中有:主轴(默认是x轴)和侧轴(y轴)
4、主轴方向长度默认丢失,侧轴方向长度默认为100%
5、不脱离文档流
6flex容器中:块、行内块、行内元素都会变为不独占一行的块元素
7、元素溢出默认压缩,不会换行

设置在父容器的属性:

flex-direction: 设置主轴方向
    row 行排列,x轴 默认值,从左到右排列
    row-reverse 从右到左排列
    colum 列排列,y轴,从上到下排列
    colum 从下到上排列
    
justify-content: 设置对齐方式
    flex-start 默认值,开始位置
    flex-end 结束位置
    center 居中
    space-around 环绕对齐,空白区域在元素左右平均分布,两端也有间隙
    space-between 环绕对齐,空白区域在元素左右平均分布,两端没有间隙
    space-evenly 空白区域在元素间隙平分,包括左右两端
    
flex-wrap: 设置换行
    nowrap 默认值,不换行,溢出挤压
    wrap 换行,当父元素有确定高度时,默认在父元素空白区域居中换行,没有高度时则直接换行
    wrap-reverse 往反方向换行
    
align=content: 设置侧轴方向排列方式,值同justify-content
    把所有行当作一个整体对齐
    
align-items: 设置侧轴方向排列方式
    把每一行当作一个整体
    
flex-flow: 主轴方向,是否换行

设置在子容器的属性:

flex:0-1 设置元素对于空白区域的占比,所有子元素都设置flex时,平分
align-self 单独设置元素侧轴方向的对齐方式
flex-grow 默认是0,设置元素的扩张比,计算方式:原宽度+(空白区域宽度/份数)*所占份数
flex-shrink 设置元素的缩小比,默认是1,设置为0时不缩小
order 设置元素排列顺序,默认标签书写顺序排列,值越大越往后

缺点:

1、占带宽
2、不兼容IE9以下(一般不考虑)
3flex容器中的子元素设置floatclear无效