【发布时间】:2015-03-12 03:48:37
【问题描述】:
我目前有一个带有 UIWebView 的应用程序,它有一个带有 webkit-overflow-scrolling:touch 属性的可滚动 div。 当侧边菜单打开时,我会在内容顶部放置一个叠加层(另一个 div)以提供变暗效果。
问题在于,当用户平移时,当菜单打开(并且覆盖层就位)时,可滚动的 div 实际上会滚动,而覆盖层应该停止这种形式的发生。
现在,在 iOS7 中,解决方案是添加 webkit-overflow-scrolling:touch;到覆盖。这就像一个魅力,但在 iOS8 中却没有。
这里是问题示例的链接。如果在 iOS 7 上运行,它会按预期运行,如果在 iOS 8 上运行,则后面的内容会滚动。
.scrollable {
width:100%;
height:200px;
-webkit-overflow-scrolling:touch;
overflow:scroll;
}
.overlay {
position:absolute;
width:100%;
overflow:scroll;
height:200px;
-webkit-overflow-scrolling:touch;
background-color:black;
opacity:.5;
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
z-index:10;
}
https://jsfiddle.net/SergioM/57f2da87/9/
我还尝试在打开菜单时将可滚动 div 的 overflow-x 属性设置为隐藏/自动,但这会增加可怕的闪烁。
任何建议将不胜感激。
谢谢。
【问题讨论】:
标签: ios8 webkit scroll overlay gesture