CSS 滚动捕捉

CSS 滚动捕捉模块提供了通过定义捕捉位置来控制平移和滚动行为的属性。当用户在滚动容器中滚动溢出内容时,内容可以捕捉到特定位置,从而提供分页和滚动定位功能。

此模块包括滚动容器的 `scroll-padding` 属性,用于在滚动到视图操作期间调整分页的最佳可视区域。它还包括设置在滚动容器子元素上的 `scroll-margin` 和 `scroll-alignment` 属性,用于在子元素滚动到视图时调整其可视区域,以及一个强制滚动在单个子元素上停止的属性。

滚动捕捉效果演示

要在下面的框中查看滚动捕捉效果,请在可滚动视口中上下左右滚动 45 个编号框的网格。点击下面的示例中的“播放”以在 MDN Playground 中查看或编辑源代码。

使用滚动捕捉,您滚动到的编号框之一将捕捉到指定位置。初始 CSS 使编号框捕捉到视口中心。使用滑块更改块和行内捕捉位置。

使用捕捉属性,您可以允许或阻止滚动经过某个元素,在此示例中是编号框。勾选“防止滚动经过框”复选框,强制所有滚动操作都限制为滚动到相邻框。

要将滚动捕捉与常规滚动进行比较,请勾选“禁用捕捉”复选框并再次尝试滚动。

参考

容器上的属性

子元素上的属性

事件

接口

指南

CSS 滚动捕捉的基本概念

CSS 滚动捕捉功能的概述和示例。

使用滚动捕捉事件

使用 scrollsnapchangingscrollsnapchange 滚动捕捉事件的指南,这些事件在浏览器确定新的捕捉目标正在待定或已被选中时触发。

规范

规范
CSS 滚动捕捉模块级别 1
CSS 滚动捕捉模块级别 2

另见