当前位置: 首页 > 面试题库 >

Div 100%的高度适用于Firefox,但不适用于IE

端木志诚
2023-03-14
问题内容

我有一个包含两个内部div的容器div;两者在容器中的宽度和高度均应为100%。

我将两个内部div都设置为100%高度。在Firefox中效果很好,但是在IE中,div不会拉伸到100%的高度,而只会拉伸其中文本的高度。

以下是样式表的简化版本。

#container
{
   height: auto;
   width: 100%;
}

#container #mainContentsWrapper
{
   float: left;

   height: 100%;
   width: 70%;
   margin: 0;
   padding: 0;
}


#container #sidebarWrapper
{      
   float: right;

   height: 100%;
   width: 29.7%;
   margin: 0;
   padding: 0;
}

我做错什么了吗?还是我错过了任何Firefox / IE怪癖?


问题答案:

我认为“在Firefox中工作正常”仅在 Quirks模式下 呈现。在 标准模式 渲染中,在Firefox中也可能无法正常工作。

百分比取决于“包含块”,而不是视口。

CSS规范说

相对于生成的盒子的包含块的高度计算百分比。如果未明确指定包含块的高度(即,它取决于内容的高度),并且该元素的位置不是绝对的,则该值将计算为“自动”。

所以

#container { height: auto; }
#container #mainContentsWrapper { height: n%; }
#container #sidebarWrapper { height: n%; }

手段

#container { height: auto; }
#container #mainContentsWrapper { height: auto; }
#container #sidebarWrapper { height: auto; }

要拉伸到100%的视口高度,您需要指定包含块的高度(在本例中为#container)。此外,您还需要指定正文和html的高度,因为初始包含块是“与UA相关的”。

所有你需要的是…

html, body { height:100%; }
#container { height:100%; }


 类似资料:
  • 问题内容: 以下代码可在Google Chrome beta和IE 7中运行。但是,Firefox似乎对此有问题。我怀疑这是我的CSS文件如何包含的问题,因为我知道Firefox对跨域导入不太友好。 但这仅仅是静态HTML,而没有跨域问题。 在我的landing-page.html上,我像这样进行CSS导入: 在main.css中,我还有另一个导入,例如: 在type.css中,我有以下声明: 我

  • 问题内容: 我刚刚更新到Firefox 32,当我尝试运行Selenium Webdriver Test时,我得到以下信息 我期望能够正常运行测试。 有没有人遇到过同样的事情?您是如何解决该问题的? selenium版本:2.41.0(作为Nuget软件包安装)操作系统:Windows 7浏览器:Firefox浏览器版本:32 问题答案: Selenium2.41.0正式支持的最新Firefox版

  • 问题内容: 好的,这是一些演示此问题的示例代码。如果我单击Firefox中的按钮,第一个选项将消失。如果单击chrome中的按钮,则什么也没有发生,或者如果我检查第一个选项,它确实具有属性“ style =’display:none’”,但html页面上的选项本身未隐藏。 为什么在chrome中不起作用? 问题答案: 解决方法是删除元素以响应您的事件,并在需要时以及在需要时将其重新添加。IIRC,

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 列名称的类型为int[] 上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql 尝试的hsqldb版本:2.2.9和2.3.0 在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。