Skip to content

Overscroll Behavior

<https://developer.mozilla.org/zh-CN/docs/Web/CSS/overscroll-behavior>

overscroll-behavior CSS 属性是 overscroll-behavior-x 和 overscroll-behavior-y 属性的合并写法,让你可以控制浏览器过度滚动时的表现——也就是滚动到边界。

语法

overscroll-behavior 属性可以使用下面列表中的一或两个关键字指定。使用两个关键字来指定 overscroll-behavior 分别在 x 和 y 轴的值。只用一个值的话,x 和 y 轴都被指定为该值。

  • auto 默认效果

  • contain 设置这个值后,默认的滚动边界行为不变(“触底”效果或者刷新),但是临近的滚动区域不会被滚动链影响到,比如对话框后方的页面不会滚动。

  • none 临近滚动区域不受到滚动链影响,而且默认的滚动到边界的表现也被阻止。

css
/* 关键字的值 */
overscroll-behavior: auto; /* 默认 */
overscroll-behavior: contain;
overscroll-behavior: none;

/* 使用 2 个值 */
overscroll-behavior: auto contain;

/* Global values */
overflow: inherit;
overflow: initial;
overflow: unset;

用法

ClassProperties
overscroll-autooverscroll-behavior: auto;
overscroll-containoverscroll-behavior: contain;
overscroll-noneoverscroll-behavior: none;
overscroll-y-autooverscroll-behavior-y: auto;
overscroll-y-containoverscroll-behavior-y: contain;
overscroll-y-noneoverscroll-behavior-y: none;
overscroll-x-autooverscroll-behavior-x: auto;
overscroll-x-containoverscroll-behavior-x: contain;
overscroll-x-noneoverscroll-behavior-x: none;

防止父级过度滚动

使用 overscroll-contain 可以防止目标区域中的滚动触发父元素中的滚动,但在支持它的操作系统中滚动超过容器末尾时保留“反弹”效果。

html
&lt;div class="overscroll-contain ...">Well, let me tell you something, ...&lt;/div>

使用默认的过度滚动行为

使用 overscroll-auto 使用户可以在到达主滚动区域的边界时继续滚动父滚动区域。

html
&lt;div class="overscroll-auto ...">Well, let me tell you something, ...&lt;/div>

共 20 个模块,1301 篇 Markdown 文档。