使用overflow-x:scroll在IOS上进行加速/减速的平滑原生样式滑动滚动; 可滚动的div使用CSS

使用可滚动的div

.scrollable-div{ overflow-x: scroll; overflow-y: hidden; white-space: nowrap; } 

Android设备上的DEMO在滑动上滚动平滑,甚至有加速和减速。

在iPhone上相同的代码,滚动是僵硬的。 当用户释放触摸滚动停止立即。

你如何使iPhone像滚动加速/减速本地风格的Android浏览器一样滚动可滚动的div?

您可以通过使用以下专有的CSS属性在具有overflow的HTML元素上进行原生样式的滚动:

-webkit-overflow-scrolling: touch;

不过有一些注意事项。 根据元素内部的内容,渲染可能会有些破碎,所以你应该testing它,看看它是否适合你的特殊需求。 我也不确定在指定overflow-y: hidden时它是否正常工作。 如果没有的话,你应该可以通过使用overflow-xoverflow-yoverflowauto似乎不起作用)的不同值来解决这个问题。

如果你需要的话,你可以通过创build第二个内嵌的div并在其上设置属性来伪造overflow-y: hiddendiv上。 但我希望这不是必要的。

MarcoAurélio的build议实际上是最好的解决scheme。 如果你设置了overflow-y: scroll并且添加了-webkit-overflow-scrolling: touch ,那么效果最好。 你会得到一个本地的滚动感觉

好的,这是我的工作原理:

 body, html { overflow-x:hidden; -webkit-overflow-scrolling: touch; }