蛇形布局
实现的效果如下图所示
使用 flex 完成 m*n 的布局
首先使用 flex 完成一个简单的 m*n 布局
<template>
<div class="container">
<div class="item" v-for="(item, index) in list" :key="index">
step{{ index + 1 }}
</div>
</div>
</template>
<script setup lang="ts">
import { ref } from "vue";
const list = ref(new Array(12).fill(""));
</script>
<style lang="scss" scoped>
$colNum: 4; // 列数
$rowDistance: 40px; // 行间距
$colDistance: 30px; // 列间距
.container {
display: flex;
flex-wrap: wrap;
gap: $rowDistance $colDistance;
.item {
width: calc((100% - $colDistance * ($colNum - 1)) / $colNum);
height: 30px;
display: flex;
align-items: center;
justify-content: center;
background-color: skyblue;
}
}
</style>
大约 9 分钟