实现:每行固定 5 个、自动换行、最后一行左对齐、数量不固定

1、Flex 布局实现:每行 5 个,最后一行左对齐(删除 justify-content: space-around,使用 width: calc(20% - 8px) + gap 实现每行 5 个,最后一行自然左对齐)

javascript 复制代码
<template>
    <div class="flex-container">
    <div class="flex-item">1</div>
    <div class="flex-item">2</div>
    <div class="flex-item">3</div>
    <div class="flex-item">4</div>
    <div class="flex-item">5</div>
    <div class="flex-item">6</div>
    <div class="flex-item">7</div>
    <div class="flex-item">8</div>
    <div class="flex-item">9</div>
    <div class="flex-item">10</div>
    <div class="flex-item">11</div>
    <div class="flex-item">12</div>
    <div class="flex-item">13</div>
  </div>
</template>

<script>

</script>

<style lang="less" scoped>
   /* 父容器:核心 flex 配置 */
    .flex-container {
      display: flex;
      flex-wrap: wrap; /* 自动换行 */
      gap: 10px; /* 盒子之间的间距(可修改) */
    }

    /* 子盒子:固定每行5个 */
    .flex-item {
      /* 核心公式:(100% - 4个间距) / 5 */
      width: calc(20% - 8px); 
      height: 80px;
      background: #409eff;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
    }
</style>

2、如果项目里必须保留 justify-content: space-around,可以用伪元素填充

html 复制代码
.flex-container::after {
  content: "";
  flex: auto;
  max-width: calc(20% - 10px);
}

3、Grid 网格布局(最推荐,最简单)

Grid 天生就是做多列等宽网格不用算百分比、不用处理间距 ,直接定义 5列,自动换行,最后一行天然左对齐,完全没有 flex space-around 最后一行散开的问题

html 复制代码
.container {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 固定5列,均分宽度 */
  gap: 10px; /* 间距 */
}
.item {
  height: 80px;
  background: #409eff;
}

4、传统 Float 浮动布局(兼容老项目)

最老的方案,IE 也能用,每行 5 个,自动换行,最后一行天然左对齐。缺点:需要清除浮动。

复制代码
.container::after { /* 清除浮动 */
  content: "";
  display: block;
  clear: both;
}
.item {
  float: left;
  width: calc(20% - 8px);
  margin: 0 4px 10px;
  height: 80px;
  background: #409eff;
}
相关推荐
lichenyang45313 分钟前
Socket.IO 原理与技术选型
前端
qq210846295314 分钟前
在python中什么是 self 和 cls?
开发语言·前端·python
我会冲击波15 分钟前
vibe coding 一个多月,我把 Claude Code + Pi 做成了桌面 IDE,还给它移植了 VS Code 的编辑体验
前端·javascript·后端
kyson_22 分钟前
前端性能优化全链路实践指南:从网络、缓存到渲染与监测
前端
前端fighter23 分钟前
线上崩溃?使用 TRAE Work 5分钟把混淆日志翻译成人话并输出复盘报告
前端·vue.js·程序员
网安蟹佬霸30 分钟前
CTF Web方向解题全攻略:从信息收集到getshell(附实战payload与脚本)
android·前端·网络·安全·web安全·网络安全·网安
JimmtButler34 分钟前
从 Java 到 JS:我终于把闭包想明白了
javascript·后端
前端玩坑坑35 分钟前
CSS Container Queries 容器查询入门教程
前端
带多刺的玫瑰40 分钟前
Leecode#4刷题之寻找两个正序数组的中位数
java·前端·算法
qq_2676128941 分钟前
项目集、里程碑与迭代联动:Gitee项目管理如何支撑多团队规模化交付与进度风险治理
前端·gitee