CSS scroll-snap-type 属性
更多“自己尝试”的例子见下文。
定义和用法
scroll-snap-type
属性指定了停止滚动时元素将如何聚焦,以及聚焦的方向。
要实现滚动捕捉行为,必须在父元素上设置 scroll-snap-type
属性,并在子元素上设置 scroll-snap-align
属性。
默认值 | none |
---|---|
继承 | no |
可动画 | 否。 阅读关于可动画属性 |
版本 | CSS3 |
JavaScript 语法 | object.style.scrollSnapType="x mandatory" 尝试一下 |
浏览器支持
表中的数字指定了完全支持该属性的第一个浏览器版本。
属性 | |||||
---|---|---|---|---|---|
scroll-snap-type | 69.0 | 79.0 | 99.0 | 11.0 | 56.0 |
CSS 语法
scroll-snap-type: none|x|y|block|inline|both|mandatory|proximity|initial|inherit;
属性值
值 | 描述 |
---|---|
none | 无滚动捕捉效果。这是默认值 |
x | 滚动捕捉效果设置在 x 轴上 |
y | 滚动捕捉效果设置在 y 轴上 |
block | 滚动捕捉效果设置在块状方向 |
inline | 滚动捕捉效果设置在行内方向 |
both | 滚动捕捉效果同时设置在 x 轴和 y 轴上 |
mandatory (强制) | 滚动操作完成后,滚动会自动移动到捕捉点。 |
proximity (邻近) | 与 mandatory 类似,但没有那么严格。滚动操作完成后,滚动会自动移动到捕捉点,但在捕捉点之间有一个没有捕捉效果的区域。这取决于浏览器参数。 |
initial | 将此属性设置为其默认值。阅读关于initial |
inherit | 从其父元素继承此属性。阅读关于inherit |
更多示例
双向滚动捕捉
scroll-snap-type
属性同时设置在 x 轴和 y 轴上。
#container > div {
scroll-snap-type: both mandatory;
}
带有 proximity 的滚动捕捉
scroll-snap-type
属性同时设置在 x 轴和 y 轴上,并具有 proximity 行为。使用此属性值,如果滚动操作在两个元素中间停止,则不会进行捕捉。
#container > div {
scroll-snap-type: both proximity;
}
相关页面
CSS scroll-snap-align 属性:CSS Scroll-snap-align 属性