首页  >  文章  >  web前端  >  为什么父级 Div 的高度为零且子级浮动?

为什么父级 Div 的高度为零且子级浮动?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-10 06:59:02316浏览

Why Does a Parent Div Have Zero Height with Floated Children?

了解带有浮动子元素的父 Div 的高度

在网页设计中,div 容器的高度可能会受到影响通过其子元素。但是,当这些子元素浮动时,可能会发生意外行为,导致父级 div 高度为零。

为了说明这一点,请考虑以下 CSS:

#wrapper {
  width: 75%;
  min-width: 800px;
}
.content {
  text-align: justify;
  float: right;
  width: 90%;
}
.lbar {
  text-align: justify;
  float: left;
  width: 10%;
}

当您使用此 CSS 创建 HTML,例如:

<div>

您可能会注意到页面渲染正确,但是当您检查 DOM 时, “#wrapper”div 的高度似乎为 0px。这是因为浮动内容会将其自身从文档的正常流程中删除,实质上是从文档树中删除。

这样做的结果是父 div 的高度不受其浮动子级的影响。因此,父级 div 保持默认高度 0px。

要解决此问题并确保父级 div 展开以包含其浮动内容,您可以在父级上使用“overflow:hidden”属性分区这会创建一个新的“块格式上下文”,强制浮动子项保留在父项的边界内。

这是更新的 CSS:

#wrapper {
  width: 75%;
  min-width: 800px;
  overflow: hidden; /* Added */
}

通过此修改,“#wrapper " div 现在将拉伸以适合其浮动子项,从而使页面布局能够按预期运行。

以上是为什么父级 Div 的高度为零且子级浮动?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn