2010-07-20 49 views

回答

3

z-index定義的相對堆疊順序,絕對和固定位置元素。這意味着它只會在你的元素具有其中一種位置類型時才起作用。

.some-element { 
    position: relative; 
    z-index: 1; 
} 

.another-element { 
    position: absolute; 
    z-index: 2; 
} 

在上文中,。另一元件會疊加。有些-元件上方,因爲它具有較高的z索引。

舊版本的IE的問題是z-index僅在相同的stacking context中受到尊重。這意味着,在下面的設置,z-index的不一定會正常工作,如果2個圖像重疊:

HTML

<div id="elem1"> 
    <img src="foo.jpg"/> 
</div> 
<div id="elem2"> 
    <img src="bar.jpg"/> 
</div> 

CSS

#elem1 { 
    position: relative; 
} 
#elem1 img { 
    position: relative; 
    z-index: 1; 
} 
#elem2 { 
    position: relative; 
} 
#elem2 img { 
    position: relative; 
    z-index: 2; 
} 

的原因是兩個圖像都在自己的堆疊環境中,因爲#elem1和#elem2是position:relative。

+1

建議:內聯樣式,因此不需要在HTML和CSS之間來回跳轉。 – 2010-07-20 13:19:45

+0

@pat - 所以z-index不關心定位。具有更高z-索引的元素將始終位於頂部。我對嗎? – 2010-07-20 14:55:35

+0

@ metal-gear-solid:是的,z-index不受位置類型的影響,但只有在元素上指定了3種位置類型之一時才起作用。在我的關於堆疊上下文的回答中查看一下,看看在IE中這並非總是如此。 – Pat 2010-07-20 15:12:29

2

注意specificationApplies to:部分:

'z-index' 
    Value:  auto | <integer> | inherit 
    Initial: auto 
    Applies to: positioned elements 

-

而且你可以很容易地使用索引來查找definition of positioned

+1

我很欣賞引用(+1),但爲什麼不直接說出答案? – 2010-07-20 13:09:37

+0

@Patrick McElhaney - 同意你。我也很期待。 W3C鏈接的內容非常長。 – 2010-07-20 13:11:46

相關問題