苹果手机 z-index 失效

Posted 青云码上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果手机 z-index 失效相关的知识,希望对你有一定的参考价值。

原因:

在苹果手机上, transform 变换的时候会让 z-index “临时失效”,其实并非 z-index 失效了,只是 z-index 被用在不同的 stacking context 上,而非在默认的 context 上同等地比较层级了。所以 DOM 在 transform 的工程中,DOM 处于一个新的 stacking context 里,z-index 也是相对于这个 stacking context 的,所以表现出来的实际是 stacking context 的层次,动画一结束,DOM 又回到默认的 context 里,这时的 z-index 才是在同一个 context 上的比较。

解决方法:

1、首先在出现层级问题的元素上,z-index的大小通过translateZ来设置层级关系:

transform: translateZ(自身z-index的数值px)

原先的z-index最好继续保留,因为还要考虑到非ios用户吖

2、后在父元素上添加:

transform-style: preserve-3d; // 父元素必须加这个

 

以上是关于苹果手机 z-index 失效的主要内容,如果未能解决你的问题,请参考以下文章

优易软件-关于click事件在苹果手机失效的问题

jquery中on绑定click事件在苹果手机失效的问题

关于jquery中on绑定click事件在苹果手机失效的问题

关于jquery中on绑定click事件在苹果手机失效的问题

关于jquery中on绑定click事件在苹果手机失效的问题

Android片段z-index覆盖