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

如何实现容器子元素平分剩余空间并适配底部固定元素?

实现容器内子元素平分剩余高度且底部元素自适应空间

需求:创建一个容器,使内部多个子元素平分容器的剩余高度(例如4个元素各占剩余空间的25%),同时容器底部包含一个仅占据自身所需空间的元素。

完整实现代码

HTML 代码

<div class="container">
  <div class='innerContainer'>
    <p>此元素平分父容器剩余高度</p>
    <p>此元素平分父容器剩余高度</p>
    <!-- 可添加更多p标签,自动平分剩余高度 -->
  </div>
  <p class="footer">底部元素,仅占据自身所需空间</p>
</div>

CSS 代码

.container {
  height: 200px;
  display: flex;
  flex-direction: column;
  border: 1px dotted black;
}

.innerContainer {
  flex: 1 1 auto; 
  border: 1px dashed black;
  display: flex;
  flex-direction: column;
}

.innerContainer p {
  flex: 1;
  margin: 0;
  display: flex;
  align-items: center; /* 可选,让文字垂直居中 */
}

.footer {
  flex: 0 1 auto; 
  border: 1px solid black; 
  margin: 0; 
  padding: 0;
}

关键属性说明

  • .container:通过display: flex和flex-direction: column设置为垂直方向的弹性容器,固定高度为内部元素提供明确的空间分配基准。
  • .innerContainer:flex: 1 1 auto使其占据容器中除底部元素外的所有剩余空间,同时自身也设为垂直弹性容器,让内部子元素可平分高度。
  • .innerContainer p:flex: 1让每个子元素平分.innerContainer的高度,添加display: flex和align-items: center可让文字在元素内垂直居中(可选)。
  • .footer:flex: 0 1 auto确保它仅占用自身内容所需高度,不会放大占用额外空间,必要时可缩小适应容器。

内容的提问来源于stack exchange,提问作者Michał Turczyn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:10:55