这个其实很容易理解,比如说两个定位元素,都设置了position: absolute; top: 0; left: 0; 然后他们俩重叠在一起了,那么谁显示在上面呢?实际上z-index就是用来解决这个问题,就像桌子上的纸张一样,位于上面的肯定会挡住下面的。
那么什么时候用呢?其实就是我刚刚说的那个场景,z-index发生重叠后,才会考虑使用这个,但是呢,他起作用也是有前提的,比如说,最常见的就是,你首先是定位元素,也就是position不为static的元素才有效,所以说,如果你使用float这些,实际上在使用z-index是没什么用的,除了这个呢?许多css3属性也会使其z-index变得有效,比如说transform.
至于其他属性和这个属性冲突,这个我不是很理解你说的冲突指的是什么,所以就暂时不能给你一个明确的答案了。不过呢,我建议你看一篇文章,你看过以后,我相信你应该就不会再问类似的问题了