對不起,我不能發佈完整的代碼,我正在研究專有的東西。基本上,我有一個問題,其中Z-index 6的DIV被Z-index爲5的覆蓋DIV阻塞。是否有任何情況會導致這種情況發生?我試圖弄清楚爲什麼會發生這樣的事情,我正在絞盡腦汁。它只是沒有任何意義。任何與嵌套DIV有關的事情,或CSS position
也許?我應該知道關於z-index的任何奇怪規則嗎?
對於模糊性我表示歉意。我試圖在JSFiddle中重新創建,但不幸的是它按預期工作。只有實際的代碼是不可靠的。
結構:
<div id="window">
<div id="wall">
<div class="box" /><div class="box" /> .... many boxes
</div>
</div>
<div id="overlay" />
CSS:
$('<div id="overlay"></div>').css({
'left': $('#window').position().left + 'px',
'top': $('#window').position().top + 'px',
'width': $('#window').width() + 'px',
'height': $('#window').height() + 'px',
'opacity': 0.8
}).appendTo('body');
即使一個箱子有Z-:
#window {
position: relative;
width: 960px;
height: 700px;
overflow: hidden;
background: #666;
}
#wall {
position: relative;
width: 1640px;
height: 1600px;
-webkit-perspective: 2000;
}
#overlay {
position: absolute;
z-index: 5;
background: #000;
}
.box {
left: 0px;
top: 0px;
position: absolute;
width: 228px;
height: 228px;
color: #fff;
font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
font-size: 0.8em;
-webkit-transform-style: preserve-3d;
z-index: 4;
cursor: pointer;
}
覆蓋尺寸在一個特定的事件通過jQuery設置指數爲6,覆蓋層爲5,覆蓋層仍然覆蓋在所述框上。
疊加層應該放在窗口上,但讓其中一個框通過。
爲什麼這個JSFiddle工作,但我的實際代碼不?? http://jsfiddle.net/csaltyj/2gzTc/
z-index僅在位置被定義時才起作用......也許你的z-index 6沒有被應用。檢查html – 2012-03-16 04:06:52
如果元素不是兄弟,它可能不起作用。 – gilly3 2012-03-16 04:10:34
當您混合絕對項目和相對項目時,Explorer已知將z索引分成不同的「集合」。像所有「絕對」定位元素都有一個z-索引,所有「相對」定位元素都有一個完全獨立的z-索引,它忽略了另一個。我知道沒有其他瀏覽器有這個怪癖,所以這個應該很容易隔離。 – Sparky 2012-03-16 04:13:58