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

如何使子div高度延伸至父div底部?(不使用绝对定位)

解决方案:让子div底部与父div底部对齐(不使用absolute定位)

嘿,我明白你想让.basicInfo的底部和.core的底部对齐,还不想用position: absolute的困扰!其实Flex布局完全能解决这个问题,只是你之前的用法没到位,我来给你拆解清楚。

问题根源

你之前尝试了display: flex但没生效,是因为没有给父容器.core设置正确的Flex属性:默认Flex是横向排列的,而且没让子元素自动填充剩余空间。另外position: relative搭配bottom: 0%只会让元素相对于自己的原始位置下移,没法让它撑到父容器底部;margin-bottom: 0只是清除外边距,不影响高度填充。

正确的解决方案

只需要修改.core和.basicInfo的CSS属性,就能实现需求:

修改后的CSS代码

.core {
  height: 200px;
  background-color: yellow;
  /* 添加Flex布局,让子元素垂直排列 */
  display: flex;
  flex-direction: column;
}
.boxName {
  display: block;
  position: relative;
}
.boxName span {
  background-color: black;
  color: white;
}
.basicInfo {
  /* 让这个div填充父容器剩余的所有空间 */
  flex: 1;
  width: 30%;
  background-color: green;
}

对应的HTML代码(无需修改)

<div class="core">
  <div class="boxName"><span>Title</span></div>
  <div class="basicInfo">
    How to set height of this div to the bottom of core div?
  </div>
</div>

原理说明

  1. 给.core设置display: flex; flex-direction: column;,让内部的两个子div垂直排列。
  2. 给.basicInfo添加flex: 1,这个属性会让它自动占据父容器中除了.boxName之外的所有剩余空间,自然就会让它的底部和.core的底部对齐了。

这样既满足了你的需求,又不用依赖position: absolute,布局也更灵活!

内容的提问来源于stack exchange,提问作者Marcin Gałązka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:14:49