flex布局

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flex布局相关的知识,希望对你有一定的参考价值。

    .box{
        display:flex;
        //布局方向
        flex-direction:row | row-reverse | column | column-reverse; 从左只有横向布局|从右到左横向布局|从上到下纵向布局|从下到上纵向布局
        //是否换行
        flex-wrap:nowrap | wrap | wrap-reverse; 不换行|换行|第二行在上
        //主轴上内容对齐方式
        justify-content: flex-start | flex-end | center | space-between | space-around; 起点对齐|终点对齐|居中|两边对其|每个项目两侧的间隔相等
        //交叉轴上对齐方式
        align-items: flex-start | flex-end | center | baseline | stretch(默认值);起点对齐|终点对齐|居中|项目的第一行文字的基线对齐|如果项目未设置高度或设为auto,将占满整个容器的高度
        //多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用
        align-content: flex-start | flex-end | center | space-between | space-around | stretch;

        .flex{
            display:-webkit-box;
            display:-webkit-flex;
            display:-ms-flexbox;
            display:flex;
        }
        .flex-v{
            -webkit-box-orient:vertical;
            -webkit-flex-direction:column;
            -ms-flex-direction:column;
            flex-direction:column;
        }
        .flex-1{
            -webkit-box-flex:1;
            -webkit-flex:1;
            -ms-flex:1;
            flex:1;
        }
        .flex-align-center{
            -webkit-box-align:center;
            -webkit-align-items:center;
            -ms-flex-align:center;
            align-items:center;
        }
        .flex-pack-center{
            -webkit-box-pack:center;
            -webkit-justify-content:center;
            -ms-flex-pack:center;
            justify-content:center;
        }
        .flex-pack-justify{
            -webkit-box-pack:justify;
            -webkit-justify-content:space-between;
            -ms-flex-pack:justify;
            justify-content:space-between;
        }

        .item{
            //项目的排列顺序。数值越小,排列越靠前,默认为0。
            order: <integer>; 
            //项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
            flex-grow: <number>; //default 0 
            //项目的缩小比例,默认为1,即如果空间不足,该项目将缩小
            flex-shrink: <number>;//default 1
            //在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小
            flex-basis: <length> | auto; //default auto
            //flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选
            flex: none | [ <‘flex-grow‘> <‘flex-shrink‘>? || <‘flex-basis‘> ]
            //允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
            align-self: auto | flex-start | flex-end | center | baseline | stretch;
        }
    }

 

以上是关于flex布局的主要内容,如果未能解决你的问题,请参考以下文章

UniApp的Flex布局

Vue 中 Flex布局

进一步了解flex布局

弹性布局(Flex)布局介绍

Flex布局实践

Flex布局详解