我正在处理一个包含四 (4) 个独立 DIV 元素的页面,所有这些元素都相互独立滚动。使用此处的答案:`-webkit-overflow-scrolling: touch` broken for initially offscreen elements in iOS7我能够使大部分页面正常工作。仍然有少数页面在展开侧边DIV时无法垂直滚动包含主要内容的DIV。
页面结构如下所示:
...
<div id="paneTop">...</div>
<div id="paneLeft" class="expanded">...</div>
<div id="paneCenter">
<div>
<div style="overflow: hidden;">
<div id="mainContent" style="overflow: auto;">...</div>
</div>
</div>
</div>
<div id="paneRight" class="expanded">...</div>
...
在#paneCenter 上设置 touchstart 事件监听器适用于大多数页面,但那些页面没有额外的 div 层。我已经尝试在#mainContent 上设置 touchstart 事件监听器并一直沿链向上设置,但是 #mainContent 在 #paneLeft 展开时不会滚动,即使它在 #paneLeft 折叠时有效并且无论 paneRight 是否展开都有效。
注意:此问题仅在运行 iOS7 的 iPad 上发现。
最佳答案
这是正确的行为。如果你想让它垂直滚动但水平隐藏它,那么专门针对它:overflow-x:hidden(隐藏水平多余部分),并且不要将任何内容设置为 overflow-y。这允许对元素进行一些很好的控制。
关于iOS 7 Safari 无法滚动 DIV 溢出 : hidden or auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542716/