2012-02-19 22 views
3

我有一個網頁,頂部有jquery Mega Menu,然後右下方有一個jqGrid。當我將鼠標懸停在菜單上時,子菜單彈出,但顯示在「jqGrid後面」。我試圖進入該dcMegaMenu.css並添加:爲什麼jQuery Mega Menu在IE7和9中顯示在我的圖像後面?

z-index:2000; 

此拍攝圖像直接off of the examples page哪裏這個問題是可再現

enter image description here

enter image description here

所有的地方,但它仍然出現在圖像後面?有什麼建議麼?

+0

您可以向問題添加一些代碼,並且也許鏈接到問題的現場演示? – xec 2012-02-19 14:24:02

+0

入住這裏... http://stackoverflow.com/questions/4674834/mega-menu-issues 這應該解決您的問題。 – ThreaderSlash 2012-02-19 14:30:10

+0

@xec - 我添加了一個屏幕截圖,如果這有助於告訴你圖像後面的菜單被切斷 – leora 2012-02-19 14:58:41

回答

4

此問題是由an IE7 bug造成的。從鏈接答案引用自己:

[這裏有一些資源,這解釋了這個問題:

總體思路是在問題元素的父元素上戳position: relative(通常刪除它)和z-index,直到它被修復。

如果IE9在兼容模式下(或以其他方式使用IE7模式)顯示頁面,則在IE9中可能發生同樣的問題的唯一方法。點擊F12調出開發工具,查看正在使用哪種模式。

要修復這個問題,請在the page you linked to上的IE7中加入position: relative; z-index: 1;

如果您無法將此修補程序轉換爲您的實際頁面,如果您提供指向實際頁面的鏈接(或準確的測試用例:http://jsfiddle.net//http://jsbin.com/),我可以進一步提供幫助。

下面是IE9在IE7模式截圖使用開發工具應用的修補程序:

+0

謝謝的問題的屏幕截圖。 。 。奇蹟般有效 。 。 。圍繞此菜單的任何想法IE問題:http://stackoverflow.com/questions/9372436/why-doesnt-a-select-dropdown-show-up-in-menu-on-ie-but-shows-up-fine-在Firefox的 – leora 2012-02-22 01:29:11

1

沒有表現出任何代碼,所有我能想到的是,Z-指數將做什麼如果元素沒有定位:

#wontwork { 
    z-index: 10000; 
} 

#willdosth { 
    position: absolute; /* or relative or fixed */ 
    z-index: 1; 
} 

#also { /* link below */ 
    transform: sth; 
    z-index: 1; 
} 

參考https://developer.mozilla.org/en/Understanding_CSS_z-index
有關部分變換和Z指數:https://stackoverflow.com/a/7765214/137626

+0

我可以在示例頁面上重現問題,因此我現在在該頁面的問題中包含了一個鏈接,並突出顯示了我看到 – leora 2012-02-21 15:45:43

0

它可以使用z-index:1;但與問候到定位的元素來解決。正如w3school.com所解釋的,z-index只能用於定位元素。因此,如果您將大型菜單的列表項目設置在相對位置position:relative;並且使用z-index:1;將會起作用。

0

通過使用position:absolute;只需添加一個z-index:1;因爲具有較大堆棧順序的元素總是位於堆棧順序較低的元素的前面,所以z-index可用於控制堆棧順序,並且僅用於定位元素

相關問題