首页  >  文章  >  web前端  >  为什么在容器 div 中使用 100% 高度时,内部 div 在 IE 中无法达到完整高度?

为什么在容器 div 中使用 100% 高度时,内部 div 在 IE 中无法达到完整高度?

Linda Hamilton
Linda Hamilton原创
2024-11-02 02:00:31595浏览

Why Do Internal Divs Fail to Reach Full Height in IE When Using 100% Height in a Container Div?

Firefox 和 IE 中 Div 定位中的 CSS 高度怪异

在这种情况下,目标是创建一个封装两个内部 div 的容器 div div,都跨越 100% 的宽度和高度。虽然这在 Firefox 中按预期工作,但 IE 表现出一种特殊的行为,即内部 div 无法达到容器的完整高度,而将它们留在所包含文本的高度。

这种差异源于以下概念CSS 计算中的“包含块”。百分比不是相对于视口计算的,而是相对于“包含块”的高度计算的 - 在本例中为 #container div。

在提供的 CSS 中,#container 缺乏明确的高度规范,依赖于默认为“自动”。这意味着它的高度是根据里面的内容确定的。随后,内部 div 的 100% 高度属性变得相对于此自动高度,该高度根据文本内容而变化。

要纠正此问题,需要进行以下调整:

  1. 为 #container 声明显式高度值以建立包含块:

    <code class="css">#container {
      height: 100%;
    }</code>
  2. 设置 html 和 body 的高度,因为初始包含块是浏览器 - dependent:

    <code class="css">html, body {
      height: 100%;
    }</code>

这些修改将使内部 div 跨越 #container 的整个高度和 100% 的视口,解决在 IE 中观察到的高度问题。

以上是为什么在容器 div 中使用 100% 高度时,内部 div 在 IE 中无法达到完整高度?的详细内容。更多信息请关注PHP中文网其他相关文章!

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