CSS 滚动快照的延迟时间是多久?

yun*_*zen 6 javascript css scroll-snap-points

在具有某种 CSS 滚动捕捉活动的容器中滚动后,从用户滚动结束到浏览器开始滚动到捕捉位置的延迟是多久?

动机

我写了一个问题的答案CSS Scroll Snap with Animation Effect在那里我scrollend通过将滚动事件回调消除 250 毫秒来模拟事件。这似乎足够接近 Chrome 浏览器中的实际价值。但是获得一些一流的价值会很好。某处甚至可能有一个 API,以便我可以通过 JS 获得正确的值。

str*_*str 6

CSS 滚动捕捉模块级别 1

CSS Scroll Snap Module 故意不指定或强制任何用于强制执行对齐位置的精确动画或物理;这由用户代理决定。

我强烈假设大多数支持滚动捕捉的浏览器(例如 Firefox)使用的功能与它们已经用于scroll-behavior: smooth;.

CSSWG - 平滑滚动

在用户代理定义的时间段内使用用户代理定义的计时函数以平滑的方式滚动滚动框。用户代理应遵循平台约定(如果有)。

这意味着不仅浏览器、它们的特定版本之间可能存在差异,而且还取决于它们运行的​​操作系统。另请注意,浏览器可能会或可能不会根据用户设置更改动画(例如,由于可访问性问题)。

我不认为有一个 API 来获得确切的延迟和/或平滑功能。

  • 很好的答案,确实应该有一个“滚动捕捉延迟”来温和地引导用户,而不是强迫他们的滚动体验远离鼠标/键盘。 (2认同)