我一直在使用-webkit-overflow-scrolling
在iOS上进行平滑滚动以获得叠加导航菜单,但是,我一直在与一个错误斗争(我似乎无法在任何地方找到答案)。< / p>
在MDN网站上查看该房产:
此功能不符合标准,不符合标准。不要在面向Web的生产站点上使用它:它不适用于每个用户....
https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling
如果它不是在标准轨道上,为什么会如此广泛地使用?&#34;? 我们如何通过符合标准的方法在iOS上进行平滑滚动?该物业是否有适合生产的替代品?
答案 0 :(得分:8)
如果“不在标准轨道上”,为什么会广泛使用它?
通常,作者最终会使用非标准功能而不知道或关心它们是非标准的。这就是为什么这么多的Web依赖于WebKit特定的属性甚至工作,到the WHATWG had to draft up a spec designating certain WebKit-specific properties to be supported by competing browsers for compatibility purposes,以及为什么像MDN这样的来源警告作者不要在生产中使用非标准功能
但是在-webkit-overflow-scrolling
,it's an iOS-specific feature that Apple has designed with the specific intention of production use的情况下 - 在iOS上的Safari上启用Web应用程序的本机样式滚动。尽管MDN的模板警告,但只要您了解它是特定于iOS的功能(实际上是按预期使用供应商前缀的少数功能之一),在生产站点中使用它是完全合适的,并且当iOS接收软件更新时其行为可能会发生变化
就此而言,如果您遇到-webkit-overflow-scrolling
的错误,您只需向Apple报告,并希望他们最终解决此问题。
我们如何通过符合标准的方法在iOS上平滑滚动?
滚动机制本质上是特定于平台的,因此没有标准来控制滚动机制的工作方式(overflow
不计算)。
该物业是否有适合生产的替代品?
没有;如上所述,此属性是为特定目的而设计的,适用于生产。