2013-04-30 64 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