今天在写一个3d轮播图插件,无意中踩到了这个坑。
就是在safari浏览器下你的元素使用了3d变换的话 那么同时你这个父级下的所有子元素的zindex都不会生效。
在它那里认为3d效果是没有层级的 而是空间。
解决办法:
可以用translateZ来让你想显示的元素显示出来,当然最上面那层设的肯定最大,而且你也不能设太大,因为他会跑出屏幕,相信不用多说你也懂为什么会跑屏幕,一个东西在你面前越来越近近到超出那个你所在空间的时候,你肯定就看不见了,所以一般用这个属性还得配合上scale来让你的元素跟其他浏览器下保持一致的效果 位置可以配合定位或者translateX;
因为苹果规定,ios的网页渲染必须用Webkit内核,所以苹果不管什么浏览器,行为都差不多,因为本质上是Safari的封装,不过Mac应该就不会,有Mac电脑的人可以试试。