实验时间 - 滚动锚定

Matt Gaunt

您是否曾访问某个网页,开始阅读其中的内容,但由于广告或图片加载,网页突然弹出,导致您在网页上的位置丢失?

您不妨查看 Chrome 51 中的滚动锚点标志。

滚动锚点会跟踪您在页面上的位置,并防止任何导致重排的内容干扰您在页面上的位置。

如需亲自试用此功能,请执行以下操作:

  1. Chrome 开发者版/Canary 版中,前往 chrome://flags/#enable-scroll-anchoring
  2. 从下拉菜单中选择“已启用”
  3. 点击屏幕底部的“立即重新启动

这样,您就可以启用滚动锚点了。

我们已经使用此功能一段时间了,我们认为这极大地改善了所有网络用户的体验,但我们希望确保它在所有平台上都能正常运行。如果您发现滚动锚点未能处理页面中的重新流布局,或者发现滚动锚点不应干预的示例,请告诉我们!

请填写此表单:g.co / reportbadreflow,向我们发送反馈/出现意外行为的示例

常见问题解答

这项变更对 JavaScript 滚动有何影响?

简而言之,不会。

此更改会改变由重新流导致的滚动效果。例如,向某个元素添加类名称会导致其高度增加,从而导致重新流布局,而滚动锚点会防止页面跳动。

调用 window.scrollTo(0, 1)(是的,就是老式黑客攻击)不会导致重新流动,并且会正常运行。触摸事件也是如此。

如果您发现滚动锚点影响了您的网页,请通过以下表单发送反馈:g.co/reportbadreflow