面试题flex布局排序

98 阅读1分钟

flex布局让子元素排序换位置

    <div class="box">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>
        <div class="item">4</div>
    </div>

先试用flex让子元素横向排列,给子元素一些基本样式

        .box {
            width: 400px;
            height: 150px;
            border: 1px solid #c3c3c3;
            display: flex;
        }

        .item {
            width: 70px;
            height: 36px;
            line-height: 36px;
            vertical-align: center;
            color: white;
            text-align: center;
        }

最后使用order给子元素进行布局,元素按照 order 属性的值的增序进行布局。拥有相同 order 属性值的元素按照它们在源代码中出现的顺序进行布局。

注意order 仅仅对元素的视觉顺序 (visual order) 产生作用,并不会影响元素的逻辑或 tab 顺序。 order 不可以用于非视觉媒体,例如 speec

        .item:nth-child(1) {
            background: red;
            order: 2;
        }

        .item:nth-child(2) {
            background: blue;
            order: 1;
        }

        .item:nth-child(3) {
            background: pink;
            order: 3;
        }

        .item:nth-child(4) {
            background: gray;
            order: 4;
        }

image.png