【发布时间】:2020-06-22 23:37:18
【问题描述】:
这只发生在 iPhone 大小的 Safari 中。我知道这个问题的“通常修复”是应用 -webkit-transform: translate3d(0,0,0); (根据 Serge 的回答 here),这确实解决了这个问题,但只有一次。
当用户单击菜单按钮时会打开一个“抽屉”菜单,会出现此问题。菜单将正常显示,但当用手指触摸/滚动时,整个菜单将从页面中消失。应用-webkit-transform: translate3d(0,0,0) 解决了这个问题,但只是第一次。如果菜单关闭并再次打开,问题会再次出现。我已经确认 -webkit-transform: translate3d(0,0,0) 属性仍然存在(但是它在 Safari 开发人员工具中显示为灰色 - 显示为灰色,而不是用一条穿过它的线划掉)。
我在页面中添加了一些 JavaScript,以便在打开菜单时,它会将 -webkit-transform: translate3d... 属性应用于菜单,虽然这确实可以永久解决问题,但我不认为它足够干净,可以真正解决问题。
我还尝试在父元素、子元素等上应用-webkit-overflow-scrolling: touch 和-webkit-transform: translate3d(0,0,0) 的各种组合,但未能解决“第一次尝试”之后的问题。
【问题讨论】:
标签: mobile scroll safari webkit webkit-transform