2010-07-07 79 views
27

當使用絕對位置時,有什麼方法可以覆蓋父元素的z-index繼承。我想2222 DIV是在0000 DIV的頂部:可以覆蓋父元素的z-index繼承嗎?

<div style="background-color:green; z-index:10; position:relative"> 
    OOOO 
</div> 

<div style="background-color:yellow; z-index:5; position:relative"> 
    1111 
    <div style="position:absolute; background-color:red; 
       z-index:15; top:-8px; left:20px"> 
     2222 
    </div> 
</div> 

我不能改變的0000或1111的div的z-index,我想我的2222元的相對位置,以1111元。

回答

23

我相信z-index是相對於最近的定位元素。所以,如果你在「1111」div內有兩個div,它們可以是相對於彼此的z-index,但是因爲2222是1111的孩子,所以它不能相對於0000被z-索引,並且將總是以上1111.

+3

因此,如果我理解它沒有辦法相對於其父母兄弟 方式對我「z-index」元素然後是將子元素2222直接添加到document.body並計算其相對絕對位置到1111使用$()。offset() – Marek 2010-07-08 08:47:10

+0

是的。聽起來很正確。 – 2010-07-08 12:09:18

+3

我有這個問題,考慮到我們的CMS的限制,不可能真正「修復」這個問題,所以我必須一起破解一些東西,才能讓模式底層發揮作用。我提出的最好的想法是,當我啓動模式彈出窗口時,我重置父級的z-index。在退出模式之前,我在關閉模式函數中重新添加了原始z-index。 – TheChristopher 2013-08-28 17:04:30