一、flex + margin
<div class="flex">
<div
v-for="item in 21"
:key="item"
class="item"
>
{{ item }}
</div>
</div>
.flex {
display: flex;
width: 800px;
flex-wrap: wrap;
}
.item {
--n: 10;
--gap: calc((100% - 50px * var(--n)) / var(--n) / 2);
margin: 10px var(--gap);
}
二、grid 布局
<div class="flex">
<div
v-for="item in 21"
:key="item"
class="item"
>
{{ item }}
</div>
</div>
.flex {
display: grid;
grid-gap:20px 20px;
justify-content: space-between;
grid-template-columns: repeat(auto-fill, 200px);
}
.flex>.item {
width: 200px
}
CSS基本布局——grid布局