zoukankan      html  css  js  c++  java
  • ios系统设置-webkit-overflow-scrolling: touch导致z-index 失效 (弹窗层级设置无效)- 替代方案

    最近开发移动端,模拟和安卓系统都比较正常,但是一遇到ios系统就各种问题【真难】

    前言、背景:

    首先是因为设置滚动条ios系统出现卡顿,所以会加-webkit-overflow-scrolling: touch 来解决这个问题

    今天遇到的问题是小的弹窗被遮住了,也就是层级不够,z-index失效。

    查了一下资料排除了 z-index “从父原则”导致的问题【父元素没有设置z-index】

    页面内容点击弹窗效果图【这里弹出的ios实机测试是被黑布遮住的,安卓正常】【左侧正常效果】【右侧图就是bug效果】

    测试发现是page页面设置了-webkit-overflow-scrolling: touch 导致的【页面有滚动条】

    针对上面的问题,解决方案:

    第一种:直接去掉-webkit-overflow-scrolling: touch 【不合理,因为页面卡顿了】

    第二种:把小弹窗放到根下面,也就是跟遮布平级【因为放到根下面就不存在父级含有-webkit-overflow-scrolling】

    第三种:动态修改-webkit-overflow-scrolling 样式内容值。【我选择解决的方式】

    【我是vue项目】

    首选给page的div设置ref= receivable

           

    page页面样式保持-webkit-overflow-scrolling: touch; 【因为初始化是没有弹窗,页面要正常显示且不卡顿】

           

    当点击弹窗时设置【在点击事件方法里调用下面的函数】:

    isTure代表一个参数,true表示点击打开,false表示关闭

       

    【思想】:动态设置webkit-overflow-scrolling样式,如果点击了弹窗,页面都被遮住了,卡不卡都没关系,所以设置auto,这时z-index有效,弹窗可以操作。

    当关闭弹窗时,设置成touch,页面滑动是正常不卡顿效果。

     如果你有更好的方式,欢迎留言一起学习~~^ . ^

  • 相关阅读:
    js 前端开发 编程 常见知识点笔记
    重置 PowerShell 和 cmd 设置 样式 为系统默认值 powershell windows10
    useMemo和useCallback的区别 及使用场景
    数组去重,利用 ES6 的 reduce() 方法 和 include 判断 实现
    Java 中 Lombok 的使用,提高开发速度必备
    记录 windows 系统常用的 CMD 命令
    React Native 的 FlatList 组件 实现每次滑动一整项(item)
    Spring------mysql读写分离
    Webservice与CXF框架快速入门
    quartz
  • 原文地址:https://www.cnblogs.com/yflbk-2016/p/12875163.html
Copyright © 2011-2022 走看看