称为 Scroll Anchoring 的功能是一项浏览器功能。此功能试图防止一种常见情况,即在 DOM 完全加载之前,您可能会向下滚动网页,并且加载到当前位置上方的任何元素都会将您进一步推向页面下方。
CSS overflow-anchor 属性可用于防止此浏览器功能在加载新内容时自动滚动页面。如果加载新内容时,页面不会向上或向下滚动。
可能的值
- auto −调整滚动位置时,该元素将成为潜在的锚点。
- none -该元素不会被选为潜在锚点,从而允许内容重排。
适用于
所有 HTML 元素。
DOM 语法
Safari 浏览器不支持属性 overflow-anchor。
CSS overflow-anchor - none 值
以下示例设置 overflow-anchor: none。当我们单击该按钮时,我们可以看到上面创建的新框如何将文本向下推。
CSS overflow-anchor - auto 值
以下示例展示了如何使用 overflow-anchor: auto 属性来使用其默认的滚动锚定行为。在这里,我们看到单击按钮 (click me) 时,新文本框被添加到按钮上方。属性 overflow-anchor:当 DOM 中当前位置上方的 DOM 发生更改时,自动锁定用户在页面上的位置。这允许用户保持锚定在页面上的位置,即使新元素被加载到 DOM 中也是如此。