css实现纵向分列,中间间距相等

方法一:使用网格布局(Grid Layout)

html 复制代码
<!DOCTYPE html>
<html>
<head>
  <style>
    .container {
      height: 100px;
      display: grid;
      grid-template-columns: 2fr 1fr 3fr; /* 自定义每一列的比例 */

      /* 将三个行都设置为平均分配剩余空间 */
      /* grid-template-rows: 1fr 1fr 1fr; */
      /* 设置 3 列,并使每列占据相同的比例 */
      /*grid-template-columns: repeat(3, 1fr); */
      gap: 20px; /* 设置列之间的间距 */
    }
    
    .item {
      background-color: #f1f1f1;
      padding: 20px;
      text-align: center;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="item">项目1</div>
    <div class="item">项目2</div>
    <div class="item">项目3</div>
  </div>
</body>
</html>

方法二:使用多列布局(Multi-column Layout)

html 复制代码
<!DOCTYPE html>
<html>
<head>
  <style>
    .container {
      column-count: 3; /* 设置列数 */
      column-gap: 20px; /* 设置列之间的间距 */
    }
    
    .item {
      background-color: #f1f1f1;
      padding: 20px;
      -webkit-column-break-inside: avoid; /* 防止内容中断到不同列(Webkit 内核浏览器)*/
      page-break-inside: avoid; /* 防止内容中断到不同列(非 Webkit 内核浏览器)*/
      break-inside: avoid; /* 防止内容中断到不同列 */
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="item">项目1</div>
    <div class="item">项目2</div>
    <div class="item">项目3</div>
  </div>
</body>
</html>
相关推荐
sunbyte7 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ThemeClock(主题时钟)
前端·javascript·css·vue.js·前端框架·tailwindcss
LeQi1 小时前
当!important成为代码毒瘤:你的项目是不是也中了招?
前端·css·程序员
LuckySusu2 小时前
【CSS篇】对position: sticky定位的深入理解
前端·css
LuckySusu2 小时前
【CSS篇】什么是 Margin 重叠问题?如何解决?
前端·css
LuckySusu2 小时前
【CSS篇】元素的层叠顺序(Stacking Order)详解
前端·css
拾光拾趣录2 小时前
CSS高级技巧与实用伪类
前端·css
漂流瓶jz10 小时前
清除浮动/避开margin折叠:前端CSS中BFC的特点与限制
前端·css·面试
涵信9 天前
第一节 布局与盒模型-Flex与Grid布局对比
前端·css
skyymrj10 天前
Vue3 + Tailwind CSS 后台管理系统教程
前端·css·vue
涵信10 天前
2025年CSS最新高频面试题及核心解析
前端·css