2013-01-04 48 views
3

我搜索了很多沒有z-index的HTML元素堆棧,但是找不到具體的東西。我確實發現沒有z-index的堆疊按照HTML外觀的順序出現。堆疊沒有z-index?

https://developer.mozilla.org/en-US/docs/CSS/Understanding_z-index/Stacking_without_z-index

是本規範適用於IE瀏覽器?我有兩個div封入另一個div。兩者的div具有絕對位置:

<div> 
    <div id"div1" style="position:absolute"></div> 
    <div id"div2" style="position:absolute"></div> 
</div> 

兩者的div,即DIV1和DIV2,的leftwidth和的值是相同的。根據我對CSS行爲的理解,div2應該總是與div1重疊。 'div1'與'div2'重疊的可能性有多大?

+0

「根據我對這裏css行爲的理解,div2應該總是與div2重疊。」咦? – BoltClock

+0

BoltClock,我錯了嗎?請糾正我。 – bluelurker

+0

「div2應該總是與div2重疊」你是指div1 div2還是div2 div1? – BoltClock

回答

5

在您的例子,根據本document you've referenced,二者div元件定位但沒有z索引,因此具有相同的優先級(注:他們具有更高的堆疊順序比unpositioned元件)。這意味着它們按照它們出現在標記中的順序堆疊,最後一個聲明的元素具有最高的堆棧索引。

因此,根據該定義,有沒有機會div1會出現在div2以上。

查看W3C CSS2 specification on stacking context瞭解更多信息。注意:點特別是8

所有定位後裔以 'z-index的:汽車' 或 '的z-index:0',在樹的順序。

基本上,在源代碼中定義的順序是堆棧順序(未指定z-index等同於z-index: auto)。

+0

謝謝Chris.It幫助。 – bluelurker

1

如果將兩個DIV的左側屬性和頂部屬性設置爲相同,那麼第二個DIV將始終與第一個DIV重疊。

那就是我所知道的。