You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS Grid双列布局:实现独立滚动区域的问题求助

解决方案:适配视口高度的双列布局问题修复

要实现左列两行各占可视高度50%、内容超出滚动的效果,核心是利用Flexbox布局强制平分左列空间,以下是完整修复代码:

HTML结构

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>双列布局修复</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <div class="left-column">
      <div class="top-section">
        <!-- 第一行内容,超出将滚动 -->
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
        <p>大量内容示例...</p>
      </div>
      <div class="bottom-section">
        <!-- 第二行内容,超出将滚动 -->
        <p>第二行内容示例...</p>
      </div>
    </div>
    <div class="right-column">
      <!-- 右列内容,超出将滚动 -->
      <p>右列大量内容示例...</p>
      <p>右列大量内容示例...</p>
      <p>右列大量内容示例...</p>
      <p>右列大量内容示例...</p>
      <p>右列大量内容示例...</p>
      <p>右列大量内容示例...</p>
      <p>右列大量内容示例...</p>
    </div>
  </div>
</body>
</html>

CSS样式

/* 重置默认边距,让根元素占满视口高度 */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

/* 外层容器:双列水平布局,占满视口高度 */
.container {
  display: flex;
  height: 100%;
}

/* 左列:垂直布局,占满父容器高度 */
.left-column {
  width: 300px; /* 可根据需求调整宽度,或用flex比例 */
  display: flex;
  flex-direction: column;
  height: 100%;
  border-right: 1px solid #eee;
}

/* 左列上下两行:强制平分空间,超出内容滚动 */
.left-column .top-section,
.left-column .bottom-section {
  flex: 1; /* 关键:自动平分可用高度 */
  overflow: auto; /* 内容超出时显示滚动条 */
  padding: 10px;
  box-sizing: border-box; /* 内边距不占用额外高度 */
}

/* 右列:占满剩余空间,高度100%,超出滚动 */
.right-column {
  flex: 1;
  height: 100%;
  overflow: auto;
  padding: 10px;
  box-sizing: border-box;
}

关键修复点

  • 给html和body设置height:100%,确保外层容器能继承视口高度
  • 左列使用flex-direction: column垂直布局,同时设置height:100%
  • 左列的两个子元素设置flex:1,强制平分左列的可用高度,不受内容多少影响
  • 给子元素添加overflow:auto,内容超出时自动显示滚动条
  • 用box-sizing: border-box避免内边距撑开元素高度,保证50%占比准确

内容的提问来源于stack exchange,提问作者Theiaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 01:20:13