z-index随笔

z-index这个css属性是用来控制层级的,但是它的表现有点奇怪,这里做下记录。

 

假如有ABC三层,都没设置z-index时,是按dom节点顺序来控制层级。

 

此时如果B元素下有个元素D,设置了z-index:1,这个子元素会无视父元素(也就是B)的层级,直接到最高层,盖住A和C。

 

要让他恢复正常很简单,设置B元素的z-index:0,这样B元素仍然在A/C中间,D的z-index只对同级元素起作用,不会跑到A和C上面。

 

据此推断,z-index的判断逻辑应该是:

1. 父元素无z-index时,以子元素z-index为准,可以超出父元素的层级。

2. 父元素有z-index时,以父元素z-index为准,不可超出父元素层级,但是自身z-index可以在同级元素中生效。

posted @ 2018-11-14 14:30  sky0014  阅读(143)  评论(0编辑  收藏  举报