iOS 7 Safari无法使用overflow:hidden或auto滚动DIV

时间:2013-10-23 13:14:22

标签: ios css ipad ios7 mobile-safari

我正在处理一个包含四(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事件监听器并一直向上链接,但#paneLeft扩展后#mainContent将不会滚动,即使它在#paneLeft折叠时有效,并且无论是否展开paneRight都可以。

注意:此问题仅在运行iOS7的iPad上发现。

1 个答案:

答案 0 :(得分:1)

这是正确的行为。如果你想让它垂直滚动但是水平隐藏它,那么专门定位它:overflow-x:hidden(隐藏水平多余的),并且不要设置任何溢出-y。这样可以很好地控制元素。