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

flex-grow容器内容溢出,如何设置content-wrapper为可滚动?

解决Flex布局中flex-grow容器内子元素溢出的滚动问题

问题核心在于flex column布局下,flex item的默认min-height: auto属性——它会让content-wrapper被内部超高的content-container撑开,导致overflow: auto无法触发滚动效果。

只需要给content-wrapper添加一行CSS即可解决:

min-height: 0;

修改后的完整代码

.main-content-container {
    padding: 0 20px;
    display: flex;
    flex-flow: column nowrap;
    grid-gap: 10px;
    height: 550px;
    background: green;
}

.sub-content-container {
  width: 300px;
  background: grey;
  flex-grow: 1;
  display: flex;
  flex-flow: column nowrap;
}

.content-wrapper {
  flex-grow: 1;
  display: flex;
  flex-flow: column nowrap;
  overflow: auto;
  min-height: 0; /* 新增关键样式 */
}

.content-container {
  height: 10000px;
  background: #555;
}

body {
  background: black;
  color: white;
  padding-bottom: 30px;
}
<div class='main-content-container'>
  <p>stuff</p>
  <div class='sub-content-container'>
    <p>header</p>
    <div class='content-wrapper'>
       <div class="content-container">I WANT THIS TO STAY WITHIN THE CONTENT-WRAPPER</div>
    </div>
  </div>
</div>

原理说明

min-height: 0会覆盖flex item的默认最小高度规则,强制content-wrapper的高度受父容器的flex布局约束,不再被子元素无限撑开。此时overflow: auto就能正常生效,内部超出容器高度的内容会自动触发滚动条。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:35:18