antd-mobile modal层级与iOS平滑滚动问题

1,257 阅读1分钟

问题:

在移动端web页面开发的时候,使用了antd-mobile的Modal组件,在两个弹窗叠加时,发现在iphone下,模态框的显示层级异常,在android下是正常的,搞了好久。

原因分析:

看了这个帖子bbs.csdn.net/topics/3967…

感觉我的问题是异样的,为了使iOS滚动流程,很自然的就用了一个非标准的css属性,这有可能就是问题的原因

-webkit-overflow-scrolling:touch

不过我不想放弃使用-webkit-overflow-scrolling属性

于是继续看

www.zhangxinxu.com/wordpress/2… stackoverflow.com/questions/1…

antd-mobile的Modal下有样式

z-index:999;
transform:translateZ(1px)

由于我引入了-webkit-overflow-scrolling:touch,可能就造成了在safari浏览器下z-index失效的问题

解决方法:

最终通过全局修改antd-mobile的Modal组件样式解决:

.am-modal-mask{
-webkit-transform:translate3d(0,0,1px);
transform:translate3d(0,0,1px);
}

总结:

其中的原因我只搞明白个大概,所以只是简单的记录,而且由于改完代码发布到手机上验证比较耗时间,所以没有仔细验证

如果大家有什么可以在本地模拟iOS真机环境的好方法,希望分享一下,不然不能连chrome开发工具的情况下,windows机器本地调试iOS真是太麻烦了