2013-01-04 31 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重叠。

那就是我所知道的。