css z-index

 

为什么它会产生混乱?

即使Z-index并不是一个难以理解的属性,但它却会因错误的假设而使很多初级的开发人员陷入混乱。混乱发生的原因是因为Z-index只能工作在被明确定义了absolute,fixed或relative 这三个定位属性的元素中。

为了证明Z-index只能工作于被定位了的元素中,这里有同样的三个BOX,它们应用了Z-index属性来尝试打破他们自然的层叠顺序。

css z-index

灰色的BOX具有“9999”的Z-index值,蓝色的BOX有“500”的Z-index值,金色的有“1”的Z-index值。合乎逻辑的,你会认为这三个BOX的层叠顺序会倒过来。但事实却不是这样,因为这些元素都没被设定position属性。

下面是同样的三个BOX,分别都被设置了position: relative,他们的Z-index值还是按照上面那段设定。

css z-index

现在的结果是我们所期待的了:这些元素的层叠顺序实现了反向;灰色的BOX覆盖在蓝色之上,蓝色的覆盖在金色之上。

语法

#grey_box { 

width:200px;

height:200px;

border:solid1px#ccc;

background:#ddd;

position:relative;

z-index:9999;

#blue_box { 

width:200px;

height:200px;

border:solid1px#4a7497;

background:#8daac3;

position:relative;

z-index:500;

#gold_box { 

width:200px;

height:200px;

border:solid1px#8b6125;

background:#ba945d;

position:relative;

z-index:1;

}

重复一下,Z-index属性只能工作于那些被定义了position属性的元素中。这并没有被足够的重视,尤其是对于那些新手。

原文链接:http://www.blueidea.com/tech/web/2009/7060_2.asp

相关推荐