我的第三代iPad配有带最新版IOS 8.2的视网膜显示屏。如果您打开Safari并转到下面我创建的测试页面。
http://bagaren-se.dev.sitedirect.se/test.html
如果您将iPad保持在横向模式并单击“单击以显示/隐藏”按钮,则会显示一个固定的div,其中包含一些虚拟文本。您现在可以滚动该div的内容。如果你点击“点击我!!”在那里显示另一个隐藏的div与一些更多的虚拟文本,你仍然可以在div中滚动内容,但是......
如果您现在点击“Click me !!”关闭第二个div再次点击第一个按钮关闭第一个div。然后你转动iPad以纵向模式查看页面并执行相同的操作,当您尝试滚动时,div的内容不会滚动,只有背景!为什么会有这种方式呢?
如果你离开“点击我!!”当你关闭第一个div然后再打开第一个div时,div内容会打开,然后一切正常。
第一个div有max-height:760px;和溢出:auto;集。
你看到了问题吗?我看到它的方式,第一个div的内容应该总是滚动,如果它的高度大于760px,但它在Safari IOS 8.2中不起作用。有没有解决这个问题的黑客? div必须是position:fixed;。
答案 0 :(得分:13)
我们遇到过类似的事情。升级到ios 8.2后,在某些视图中滚动停止。 这是一个动态填充内容的div。 这有助于我离开赛道: http://patrickmuff.ch/blog/2014/10/01/how-we-fixed-the-webkit-overflow-scrolling-touch-bug-on-ios/
我们仅使用JavaScript将修复程序应用为ios的hack(因为我们使用angular它实际上是一个指令)。