我需要禁用iPad上的身体元素的惯性滚动,但是能够在没有惯性的情况下滚动页面。
我一直在寻找一些时间,但我找不到任何好的解决方案。也许我只是不寻找正确的事情?是否有任何黑客或解决办法可以实现这一目标?
答案 0 :(得分:17)
将此添加到body
元素的CSS:
-webkit-overflow-scrolling: auto;
-webkit-overflow-scrolling
的默认值为touch
。这告诉iOS设备使用"惯性"滚动。文档:https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling
@meuwka回答达到了你的目标,但是以迂回的方式 - 它起作用,因为div
元素的默认值为-webkit-overflow-scrolling: auto;
。
答案 1 :(得分:4)
你可以使用带溢出属性的div,它可以杀死流畅的iOS滚动
<body>
<div class="scroll">
long long text...
<div>
</body>
的CSS
html,
body {
height: 100%;
margin: 0;
overflow: hidden;
}
.scroll {
overflow: auto;
height: 100%;
}
答案 2 :(得分:0)
我使用了inobounce
height
您会注意到您必须为要滚动的元素指定overflow: auto
属性和-webkit-overflow-scrolling: touch;
,包括{{1}}。文档在解释方面做得很好。
答案 3 :(得分:0)
仅将 return value.filter(result => {
return config.some((type) => result[type].toString().toLowerCase().indexOf(q) > -1)
});
规则设置为html和body对我不起作用。
我必须迅速在viewDidLoad函数中设置-webkit-overflow-scrolling
。尝试一下,让我们知道它是否可以解决您的问题。
答案 4 :(得分:0)
加速滚动主框架始终可用 iOS上的WebKit。此外,开发人员可以使用名为 -webkit-overflow-scrolling选择加入快速滚动进行溢出滚动。 iPadOS和iOS 13不需要这些。 不再扩展到其内容的大小,现在 可滚动,并溢出:滚动;而且iframe总是会加速 滚动。不再需要快速滚动的仿真库,并且 -webkit-overflow-scrolling:触摸;在iPad上没有操作。在iPhone上,它仍然具有在CSS上创建CSS堆栈上下文的副作用。 可滚动元素。开发人员将需要测试其内容才能看到 硬件加速滚动到处如何影响和移除 不必要的解决方法。