2010-06-02 85 views
0

我有一個XHTML 1.0過渡文檔類型。我有一個<div>position: fixed; bottom: 0px; left: 0px; width: 100%; z-index: 200;IE8,XHTML,position:fixed;和z-索引

那裏面<div>我有兩個按鈕,它們是位置相對的,右對齊,z-index爲201;

在Firefox中,底部的欄和兩個按鈕正確位於底部。

然而,在IE8中,欄是可見的,z-index似乎覆蓋了其他內容,但按鈕隱藏在主div後面,儘管它們是子項並設置了z-index。

我正在使用以下元標記; <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 強制文檔進入IE8模式。

如果我模擬IE7(在兼容模式下),條和按鈕工作得很好。我不明白IE7的渲染效果如何比IE8更好。我不想強制兼容模式,因爲IE7無法呈現和IE8可以做的其他事情。還有其他解決方案嗎,還是我錯過了什麼?

謝謝。

回答

2

我已經通過從容器/欄中取出按鈕並將它們定位固定自己來解決問題。適用於IE7,IE8,Firefox - Chrome不喜歡100%的位置:固定;酒吧。該死的。

1

http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/

先給父元素較高的Z-指數(它假定你有一個單獨的樣式表,即雖然)

另外,嘗試使用此DOCTYPE迫使渲染到IE8相對於使用邊緣(這意味着你總是得到最新的版本)標準兼容模式

更多的信息在這裏:http://www.alistapart.com/articles/beyonddoctype

「這是因爲即使是Eric Meyer也無法預測可能由新瀏覽器版本意外引入的佈局或腳本錯誤。」

+0

該容器的z-索引爲200;我試着徹底刪除按鈕的z-index並得到相同的結果。如果我相對容器位置,按鈕顯示很好。絕對位置和固定位置使按鈕在容器下消失。 – Joel 2010-06-02 11:28:15

+0

也許它的一部分就是即ie也固定位置失敗(但我知道這只是爲ie6)爲什麼不只是設置按鈕和父母的位置爲絕對(而不是按鈕是相對的),然後設置z-index ? (也請閱讀鏈接中的評論,還有其他一些可能有幫助的場景) – corroded 2010-06-02 11:32:53

+0

我需要欄和按鈕來保持它們在視口底部的位置,而不是在頁面的底部,這就是爲什麼他們的位置是固定的。 該文章說這是IE7中的一個錯誤,但是我的方案在IE7中正常工作,但不在IE8中:/,如果我發現任何有用的東西,我會通讀註釋並報告回來。 謝謝 – Joel 2010-06-02 11:42:22