2012-08-08 82 views
0

快速的問題;如果你有2個div,一個absolutley被定位,一個親戚,它不會做z-index,我附加了一個jsfiddle。z-index元素的不同定位?

如果我讓它們都是相對的,它們會隨着DOM的流向走,而另一個在y軸而不是z軸上方,任何想法?

Example JSfiddle(感謝Onheiron固定在的jsfiddle渲染)的發生了什麼

截圖:http://i.imgur.com/Lo37y.png,灰色的東西應該是背後的形象。

謝謝。

+0

您的JSFiddle不會呈現。 – 2012-08-08 08:22:25

+0

是的,我可以看看在我的OP – zomboble 2012-08-08 08:23:08

+1

截圖在這個小提琴呈現:http://jsfiddle.net/Wjw9j/2/雙css聲明有問題,刪除#midwrap – Onheiron 2012-08-08 08:24:39

回答

3

你不能讓孩子出現在它的父母后面!你只能用兄弟姐妹那樣做。

請參閱updated fiddle

+0

感謝您的回覆,我的CSS看起來像附件;但仍然不能在瀏覽器中正確顯示。 http://jsfiddle.net/Wjw9j/6/ – zomboble 2012-08-08 08:33:13

+0

@zomboble請描述「不正確」。你有沒有注意到,我修改了html以使其工作?你無法用你的原始標記實現。 – Christoph 2012-08-08 08:37:00

+0

啊對不起,我看錯了,謝謝你的回答:-) – zomboble 2012-08-08 08:40:50

2

要回答這個問題,我需要解釋堆疊內容。

將z-index添加到元素時,會創建堆疊上下文。然後將所有子元素與此父級堆棧上下文進行比較。

您的元素「slideImg」的z-index爲1000.然後在此父元素的堆疊上下文中比較任何子元素。因此,「shadow」的z-index爲0,實際上是「1000 + 0」,因爲它位於「slideImg」的堆疊上下文中。

爲了把「影子」的背後「slideImg」你能扭轉他們的嵌套:

<div id="shadow">  
      <div id="slideImg"></div>  
    </div> 

或者把它們彼此相鄰,因此它們在同一個堆疊上下文中的每個考慮。

<div id="shadow"></div> 
    <div id="slideImg"></div>  

有一個explanation of z-index and Stacking Context here