用于更改高度的div的IE7错误

时间:2013-04-30 15:36:18

标签: javascript html css internet-explorer

我有这样的代码:

<body>
    <div id='wrapper'>
        <div id='content'>
          <!--content that changes his height-->
        </div>
        <div id='footer'>
          <!--Footer content-->
        </div>
    </div>
</body>

css是这样的:

#wrapper{
   width : 1024px;
   position : relative;
}
#footer{
  position : absolute;
  bottom : 0;
  left : 0;
}

在div内容中我有一些可以扩展或缩小的div,所以当它们扩展时它的高度增加,增加容器div#wrapper的高度。在所有现代浏览器中,页脚位置都会正确重新计算,页脚位于包装div的最底部,但在IE7中不会出现:页脚保留在包装器增加高度之前的相同位置。

进行一些谷歌搜索,我发现这种行为最可能的原因是“hasLayout bug”,所以我将属性 zoom:1 添加到div#wrapper,但问题没有了' t消失,所以我尝试将此属性添加到#footer等其他元素,但没有成功。

我完全无能为力......

任何人都知道发生了什么事?

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,最后我找到了解决方案。我删除了位置:绝对,我设置了页脚的高度和宽度。在这里,我发现了一些奇怪的东西(至少对我而言)。包装器的宽度为1024像素。如果我将页脚的宽度设置为1024 px,它会使用超过1024 px的包装器溢出。如果我将宽度设置为100%,同样的问题。我必须将宽度设置为91.5%以将其调整为包装器的1024 px。有人知道这个的原因吗?

感谢您的评论。