弹性布局display:flex

弹性布局display:flex_第1张图片

1.flex-direction:设置伸缩项目的排列方式,即主轴的方向

row 设置从左到右排列
row-reverse 设置从右到左排列
column 设置从上到下排列
column-reverse 设置从下到上排列

2.justify-content:调整主轴方向上的对齐方式,对于弹性盒子内元素

flex-start 伸缩项目以起始点靠齐
flex-end 伸缩项目以结束点靠齐
center 伸缩项目以中心点靠齐
space-between 伸缩项目平局分布
space-around 同上,但两端保留一半的空间

ul{
        padding: 0;
        width:800px;
        height:800px;
        list-style: none;
        border: 1px solid red;
        display: flex;
        flex-direction:row;
        justify-content:space-around;
    }
    li{
        width:200px;
        height: 200px;

        text-align: center;
        line-height: 200px;
    }

弹性布局display:flex_第2张图片

3.align-items:调整侧轴方向对齐方式

flex-start 伸缩项目以顶部为基准,清理下部额外空间
flex-end 伸缩项目以底部为基准,清理上部额外空间
center 伸缩项目以中部为基准,平均清理上下部额外空间
baseline 伸缩项目以基线为对齐,清理额外的空间
stretch 伸缩项目填充整个容器,默认

    ul{
        padding: 0;
        width:800px;
        height:800px;
        list-style: none;
        border: 1px solid red;
        display: flex;
        flex-direction:row;
        align-items:flex-end;
        justify-content:space-between;
    }

弹性布局display:flex_第3张图片

    ul{
        padding: 0;
        width:800px;
        height:800px;
        list-style: none;
        border: 1px solid red;
        display: flex;
        flex-direction:row;
        align-items:stretch;
        justify-content:space-between;
    }
    li{
        width:200px;//指定高度,才能拉伸

        text-align: center;
        line-height: 200px;
    }

弹性布局display:flex_第4张图片

4.flex-wrap控制是否换行

nowrap 默认值,都在一行或一列显示 ,会自动改变盒子内元素宽度
wrap 伸缩项目无法容纳时,自动换行
wrap-reverse 伸缩项目无法容纳时,自动换行,方向和 wrap 相反

5.align-content:堆栈排列,应用flex-wrap:wrap后换行进行控制,调整行之间的位置。用于多行,要设置父容器的高度

flex-start
flex-end
center
space-between
space-around
stretch默认

6.flex-flow:flex-direction和flex-wrap的简写

7.flex:控制伸缩容器内父盒子剩余空间的分配比例

    li{

        text-align: center;
        line-height: 100px;
        margin:10px;
    }
    li:nth-child(1){
        flex:1;
    }
    li:nth-child(2){
        flex:3;
    }
    li:nth-child(3){
        flex:1;
    }

弹性布局display:flex_第5张图片

    li:nth-child(1){
        flex:1;
    }
    li:nth-child(2){
        flex:3;
    }
    li:nth-child(3){
        flex:1;
    }
    li:nth-child(4){
        width:400px;
    }

弹性布局display:flex_第6张图片

8.align-self,子元素覆盖父元素设置的align-items,属性值也是flex-start、flex-end、center、baseline、stretch

    ul{
        align-items:flex-start;
    }
    li:nth-child(2){
        align-self:center;
    }

弹性布局display:flex_第7张图片

9.order,设置伸缩项目的顺序

    li:nth-child(1){
        order:3;
    }
    li:nth-child(2){
        order:1;
    }
    li:nth-child(3){
        order:2;
    }

弹性布局display:flex_第8张图片

你可能感兴趣的:(css,布局,flex)