flex布局(弹性布局)

289 阅读2分钟

在父元素上的元素

display: flex;

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

flex-direction: ; 设置方向

        flex-direction: row; 行排列,X轴,默认值,从左到右排列
        flex-direction: row-reverse;  从右到左排列
        flex-direction: column;  列排列,Y轴,从上到下

justify-content: ; 设置对齐方式

        justify-content: center;  居中
        justify-content: flex-start;  默认值开始位置
        justify-content: flex-end;  结束位置
        justify-content: space-around;  环绕对齐,空白区域在元素左右平均分布,两端也有间隙
        justify-content: space-between;  环绕对齐,空白区域在元素左右平均分布,两端没有间隙
        justify-content: space-evenly;  间隙平分

flex-wrap: ; 设置换行

        flex-wrap: nowrap;  默认值,不换行,溢出挤压
        flex-wrap: wrap;  换行,当父元素有明确高度是,默认下父元素空区域居中换行
        flex-wrap: wrap-reverse;  往反方向换行
        
flex-flow: ; 主轴方向,是否换行
align-items: ; 设置侧轴方向排列方式,把每行当做一个整体对齐
align-content: ; 设置侧轴方向排列方式,值同justify-content: ;把所有行当做一个整体对齐

设置在子元素的属性

        flex: 0-1;  设置元素对于空白区域的占比,所有都设置同等flex时平分

        align-self: ;  单独设置元素侧轴方向的对齐方式

        flex-grow: ;  默认是0,设置元素的扩张比,计算方式:原宽度+(空白区域/分数)X所占分

        flex-shrink: ;  设置的缩小比,默认是1,0时表示不缩小

        order: ;  设置元素排列顺序,默认标签书写排序排列,值越大排越后

flex布局的缺点:

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