当使用“-webkit-overflow-scrolling: touch”时停止过度滚动?

5
我发现了以下内容:
-webkit-overflow-scrolling: touch;

使用CSS元素在iOS上实现原生滚动。这对我来说似乎可以正常工作。

但是有没有办法关闭“overscroll”效果?

例如,当滚动位置=零时,并且您继续向下拖动时,我的内容顶部将向下移动,显示一些白色空间。当您释放手指时,内容会向上快速弹回。有没有办法仅禁用它的那一部分?

此外,我从这里了解到:

http://cantina.co/2012/03/06/ios-5-native-scrolling-grins-and-gothcas/

苹果公司引入了一个与呈现相关的错误,以及一个hack修复方法:

-webkit-transform: translate3d(0,0,0);

“is supposed to fix it”是指修复它的意思。这个问题在ios6中被修复了吗?

1
不知道-webkit-overflow-scrolling属性,挺有意思的。 - user752723
2个回答

2

这似乎有所帮助:

https://github.com/joelambert/ScrollFix

... ScrollFix通过手动调整scrollTop值来避免在极限位置上滚动,从而导致浏览器使用橡皮筋效果而不是将事件传递给DOM树中的其他元素。


是的!谢谢你。我一直在为这个奇怪的问题苦恼,这解决得非常有效! - devios1

-3

您尝试过这篇博客文章中关于关闭弹性滚动的技巧吗?特别是对于iOS,它建议使用以下JavaScript代码:

document.addEventListener(
  'touchmove',
  function(e) {
    e.preventDefault();
  },
  false
);

8
全局禁用'touchmove'会使页面无法滚动。 - hawkharris
您可以将此添加到特定元素中,例如 position:fixed 按钮。 - luckydonald

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接