2013-04-30 65 views
0

我有这样的代码:DIV的IE7漏洞,改变高度

<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中并没有发生:页脚仍然位于包装增加高度之前的相同位置。

制作一些google搜索,我发现,这种现象的最可能的原因是“hasLayout的错误”,所以我加了属性变焦:1到div#包装,但问题并没有消失,所以我试图将这个属性添加到像#footer这样的其他元素而没有任何成功。

我完全无言以对......

任何人有什么事情的一些想法?

在此先感谢。

+3

你有两个ID为'wrapper'的元素。如果其中一个是'footer'? – 2013-04-30 15:43:16

+0

你的问题是因为你有'position:绝对'你的页脚。 – Andrew 2013-04-30 15:47:29

+0

是比利,第二个应该是'footer'。 – mario595 2013-05-01 08:59:41

回答

0

好吧,最后我找到了解决方案。我删除了位置:绝对,我设置页脚的高度和宽度。在这里,我发现了一些奇怪的东西(至少对我来说是这样)。包装的宽度为1024像素。如果我将页脚的宽度设置为1024像素,则会使用大于1024像素的字体溢出包装。如果我将宽度设置为100%,则会出现同样的问题。我不得不将宽度设置为91.5%,以将其调整为包装的1024像素。有人知道这个的原因吗?

感谢您的意见。

+0

也许是因为IE 7在其溢出div的混乱中设置了一些奇怪的填充/边界/边界。为了安全起见,只需使用reset css(http://meyerweb.com/eric/tools/css/reset/) – Mysteryos 2013-05-01 09:24:39