2011-11-07 47 views
0

當鼠標懸停時,應該在所有內容上方顯示一個div彈出窗口時,我有一個圖像色板列表。但是我發現在IE6中,div彈出窗口位於彈出窗口之後生成的元素的後面。它正確地坐在彈出之前呈現的元素的頂部。IE6 CSS Z-index

什麼,我有一個大概的瞭解:

<ul> 
    <li> 
     <a href="#"><img src="image path to swatch"></a> 
     <div class="tooltip">TOOLTIP POPUP</div> 
    </li> 
    <li> 
     <a href="#"><img src="image path to swatch"></a> 
     <div class="tooltip">TOOLTIP POPUP</div> 
    </li> 
</ul> 

我有好幾個,這些堆疊的UL在頁面上的。在CSS

ul li { 
     width: 150px; 
     height: 20px; 
     position: relative; 
} 
div.tooltip { 
     width: 300px; 
     height: 300px; 
     position: absolute; 
     top: -20px; 
     left: -20px; 
     z-index: 1000; 
     display: none; 
} 

我試圖讓父李

粗略的想法有-1和位置相關的z-index的,但是這也隱藏了樣本。色板是動態生成的,我需要將各個工具提示放置在色板本身附近,這就是爲什麼我將它組織在列表中的原因。

我也試圖增加z-index使用JavaScript時,swatch是懸停在所以它是最高的一切,但這也沒有奏效。例如:

$('ul li').hoverIntent(
     function(){ 
    $('div.tooltip', this).css('z-index', '9000'); 
    $('div.tooltip', this).stop(true,true).show(); 
}, 
function() { 
    $('div.tooltip', this).hide(); 
    $('div.tooltip', this).css('z-index', '1000'); 
}); 

用盡想法,所以如果有人可以幫忙嗎?謝謝。

的代碼可以在JS提琴可以看到在:http://jsfiddle.net/melon/nUTgB/13/

+1

我知道這種迴避你的問題,所以請原諒我,但現在是時候讓IE6的去。當你忘記它曾經存在時,你會感到非常快樂。 – Nacimota

+0

只有不到9%的_whole world_仍然使用IE6,其中大多數公司的員工由於訪問限制甚至不會看到您的網站。我同意Nacimota,放棄對IE6的支持。 – Kyle

+0

我希望我能!但不幸的是:( – melon

回答

0

要解決很多IE的z-index的bug,保持這條規則記住:

If something has a position attribute, it always needs a z-index

這幫助了我瀏覽器測試很多。這意味着,LI標籤需要一個z-index: 1組,因爲他們有position:relative屬性

+0

我已經試過了,但它似乎忽略了它在工具提示後呈現的元素 – melon

+0

如果在UL元素中添加position:relative和z-index:1,會發生什麼? –

+0

在當前徘徊的色板之後呈現的色板仍然出現在工具提示上方,此外現在任何呈現在列表之外的文本現在都出現在工具提示的頂部。 – melon

0

找到一種方法,只用CSS和輕微的調整,以做到這一點:

at this link