【发布时间】:2016-09-14 04:54:23
【问题描述】:
在 Safari 和 Chrome 中测试 - 结果相同,所以我认为这是 iOS 问题。
仅当模态框内有输入并且我点击该输入时才会发生这种情况。在输入获得焦点的同一时刻,原生 iOS 键盘变得可见。
模态下方的页面在同一时刻自动滚动到其高度的 50%。这种行为是完全不受欢迎的,我不知道如何阻止这个默认的 iOS“功能”。
演示:
【问题讨论】:
-
使用 DOMListener for Chrome 获取 DOM 更改日志。我在打开模式和添加 1 种媒体查询样式时进行了 59 处更改。还要检查调整大小处理程序。位置固定或溢出隐藏也可能是问题。
-
感谢@Pinal 的回复!我尝试将
overflow: hidden动态添加到正文中,但在这种情况下没有帮助。可能position: fixed是问题所在。您能否详细解释一下为什么会出现问题以及如何解决。 -
刚刚注意到
position:fixed在iOS CoreGraphics 渲染中存在一些问题。在您的情况下,我建议您将所有position: fixed更改为绝对值并再次测试。您也可以在 github 上寻找解决方案(例如 - github.com/scottjehl/Device-Bugs/…) -
我注意到这个函数 close(i, expectedNumberOfNonCommentArgs) 会影响这个东西,当你尝试评论它时,Safari 中没有 bg 滚动。
标签: javascript html ios css vertical-scrolling