IOS移动端滚动问题之-webkit-overflow-scrolling

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS移动端滚动问题之-webkit-overflow-scrolling相关的知识,希望对你有一定的参考价值。

参考技术A 属性控制元素在移动设备上是否使用滚动回弹效果

-webkit-overflow-scrolling 属性的浏览器兼容性请参考 CanIUse

ios移动端上,当使用 overflow: scroll; 属性时,滚动效果慢且不流畅,该情况可以使用

-webkit-overflow-scrolling: touch; 属性,让滚动条产生回弹效果,增加滚动的流畅性,提高用户的体验。

当页面滑动至底部(顶部暂未发现)时,当回弹效果结束的瞬间,继续上拉让页面向下滚动,会导致滚动区域卡住不动,且一段时间后自动恢复正常。该属性包含多种问题但不仅限于以上一种。

在手指在移动设备的触摸屏上滑动的过程中,监听手指开始滑动,滑动过程中及滑动结束3个事件。在滑动中事件中检查当前滑动的位置是否到达滚动区域的底部,若已到达底部则停止滑动。

解决ios移动端,滑动回弹效果遮挡页面顶部和底部Fixed元素的问题

参考技术A

怎么说了呢,这个属性带来的好的结果是 在使用 overflow-y:scorll 后页面滑动不流畅,很木的效果。
-webkit-overflow-scrolling :属性控制元素在移动设备上是否使用滚动回弹效果.
auto : 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
touch : 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。

在移动端上,在你用 overflow-y:scorll 属性的时候,你会发现滚动的效果很木,很慢,这时候可以使用 -webkit-overflow-scrolling:touch 这个属性,让滚动条产生 滚动回弹 的效果,就像ios原生的滚动条一样流畅。

原文链接

其中给每个滑动元素的下一个子元素设置 min-height:calc(100%+1px) 的方法可行,但是不是完全解决,当第一次加载到页面的时候滑动到底部还是会出现回弹遮挡问题,不刷新页面的情况下,然后第二次就可以了。

以上是关于IOS移动端滚动问题之-webkit-overflow-scrolling的主要内容,如果未能解决你的问题,请参考以下文章

ios移动端原生滚动条滚动不灵敏问题

ios移动端原生滚动条滚动不灵敏问题

ios 11 移动端兼容性滚动问题

使用apicloud开发移动端APP,IOS list页面滚动卡顿解决记录

移动 Web 之滚动篇

解决ios移动端,滑动回弹效果遮挡页面顶部和底部Fixed元素的问题