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

Aar*_*ron 46 css mobile html5 css3 ios

使用可滚动的div

.scrollable-div{
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)

Android设备上的DEMO刷卡滚动平滑甚至加速和减速.

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

如何使iPhone像滚动浏览器一样对待具有平滑加速/减速原生样式滚动的Android浏览器?

Mar*_*lio 108

您可以overflow使用以下专有的CSS属性在HTML元素上进行本机样式的滚动:

-webkit-overflow-scrolling: touch;

不过,它有一些警告.根据元素内部的内容,渲染可能会稍微破坏,因此您应该测试它并查看它是否适合您的特定需求.当你指定时,我也不确定它是否正常工作overflow-y: hidden.如果没有,你应该能够通过玩不同的值来实现它overflow-x,overflow-y并且overflow(auto似乎不起作用).

如果需要,您可以假冒overflow-y: hiddendiv创建第二个嵌套div的内容和设置就可以了该属性.但我希望没有必要.

  • 你太棒了.我不知道这存在. (2认同)
  • 谢谢!另一个警告:如果您尝试始终使用http://stackoverflow.com/questions/7855590/how-can-i-prevent-scroll-bars-from-being-hidden-for-os-x显示WebKit中的滚动条-trackpad-users-in-webki / 7855592#7855592,这再次将其隐藏。在这里找到有关此问题:http://stackoverflow.com/questions/28871556/webkit-overflow-scrolling-touch-breaks-my-webkit-scrollbar-css-in-ios (2认同)