CSS中z轴的简单了解

html-css056

CSS中z轴的简单了解,第1张

z轴即 z-index ,可以帮助我们控制元素的堆叠顺序,即当元素发生覆盖的时候,决定哪个元素在上面,哪个元素在下面。

通常来说, z-index 值较大的元素会覆盖较低的元素。z-index 的默认值为 auto(可以认为是0),可以设置正整数,也可以设置为负整数。

当然,非常重要的一点是,只有定位元素( position:relative/absolute/fixed )的 z-index 才有作用,如果你的 z-index 作用于一个非定位元素,通常是不起任何作用的。

当网页上出现多个由绝对定位(POSITION:absolute)或固定定位(POSITION:fixed)所产生的浮动层时,必然就会产生一个问题,就是当这些层的位置产生重合时,谁在谁的上面呢?或者说谁看得见、谁看不见呢?这时候就可以通过设置z-index的值来解决,这个值较大的就在上面,较小的在下面。

z-index的意思就是在z轴的顺序,如果说网页是由x轴和y轴所决定的一个平面,那么z轴就是垂直于屏幕的一条虚拟坐标轴,浮动层就在这个坐标轴上,那么它们的顺序号就决定了谁上谁下了。

这个其实很容易理解,比如说两个定位元素,都设置了position: absolutetop: 0left: 0然后他们俩重叠在一起了,那么谁显示在上面呢?实际上z-index就是用来解决这个问题,就像桌子上的纸张一样,位于上面的肯定会挡住下面的。

那么什么时候用呢?其实就是我刚刚说的那个场景,z-index发生重叠后,才会考虑使用这个,但是呢,他起作用也是有前提的,比如说,最常见的就是,你首先是定位元素,也就是position不为static的元素才有效,所以说,如果你使用float这些,实际上在使用z-index是没什么用的,除了这个呢?许多css3属性也会使其z-index变得有效,比如说transform.

至于其他属性和这个属性冲突,这个我不是很理解你说的冲突指的是什么,所以就暂时不能给你一个明确的答案了。不过呢,我建议你看一篇文章,你看过以后,我相信你应该就不会再问类似的问题了

层叠上下文和z-index