- CSS 教程
- CSS - 首页
- CSS - 路线图
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 包含
- CSS - 测量单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图片
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - 块级边框
- CSS - 内联边框
- CSS - 外边距
- CSS - 列表
- CSS - 内边距
- CSS - 光标
- CSS - 轮廓
- CSS - 尺寸
- CSS - 滚动条
- CSS - 块内元素
- CSS - 下拉菜单
- CSS - 可见性
- CSS - 溢出
- CSS - 清除浮动
- CSS - 浮动
- CSS - 箭头
- CSS - 调整大小
- CSS - 引号
- CSS - 顺序
- CSS - 位置
- CSS - 连字符
- CSS - 悬停
- CSS - 显示
- CSS - 获取焦点
- CSS - 缩放
- CSS - 位移
- CSS - 高度
- CSS - 连字符字符
- CSS - 宽度
- CSS - 不透明度
- CSS - Z-Index
- CSS - 底部
- CSS - 导航栏
- CSS - 覆盖层
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - 属性选择器
- CSS - 组合器
- CSS - 根元素
- CSS - 盒模型
- CSS - 计数器
- CSS - 剪裁
- CSS - 书写模式
- CSS - Unicode-bidi
- CSS - min-content
- CSS - 全部
- CSS - 内嵌
- CSS - 隔离
- CSS - 滚动溢出
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - 指针事件
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - 最大块级尺寸
- CSS - 最小块级尺寸
- CSS - 混合模式
- CSS - 最大内联尺寸
- CSS - 最小内联尺寸
- CSS - 偏移量
- CSS - 重音色
- CSS - 用户选择
- CSS 高级
- CSS - 网格
- CSS - 网格布局
- CSS - Flexbox
- CSS - 可见性
- CSS - 定位
- CSS - 层
- CSS - 伪类
- CSS - 伪元素
- CSS - @规则
- CSS - 文本效果
- CSS - 分页媒体
- CSS - 打印
- CSS - 布局
- CSS - 验证
- CSS - 图片精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS3 - 教程
- CSS - 圆角
- CSS - 边框图片
- CSS - 多重背景
- CSS - 颜色
- CSS - 渐变
- CSS - 盒阴影
- CSS - 盒装饰中断
- CSS - 光标颜色
- CSS - 文本阴影
- CSS - 文本
- CSS - 2D 变换
- CSS - 3D 变换
- CSS - 过渡
- CSS - 动画
- CSS - 多列
- CSS - 盒尺寸
- CSS - 工具提示
- CSS - 按钮
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 函数
- CSS - 数学函数
- CSS - 遮罩
- CSS - 形状
- CSS - 图片样式
- CSS - 特异性
- CSS - 自定义属性
- CSS 响应式
- CSS RWD - 简介
- CSS RWD - 视口
- CSS RWD - 网格视图
- CSS RWD - 媒体查询
- CSS RWD - 图片
- CSS RWD - 视频
- CSS RWD - 框架
- CSS 工具
- CSS - PX 到 EM 转换器
- CSS - 颜色选择器和动画
- CSS 资源
- CSS - 有用资源
- CSS - 讨论
CSS - overflow-anchor 属性
一项名为滚动锚定的功能是浏览器功能。此功能旨在防止一种常见情况,即在 DOM 完全加载之前,您向下滚动网页,并且在您当前位置上方加载的任何元素都会将您进一步向下推。
CSS overflow-anchor 属性可用于防止浏览器在加载新内容时自动滚动页面。如果在当前滚动位置的上方或下方加载新内容,页面将不会向上或向下滚动。
可能的值
-
auto − 在调整滚动位置时,元素成为潜在的锚点。
-
none − 元素不会被选择为潜在的锚点,允许内容重新流动。
应用于
所有 HTML 元素。
DOM 语法
object.style.overflowAnchor = "auto|none";
Safari 浏览器不支持 overflow-anchor 属性。
CSS overflow-anchor - none 值
以下示例设置了 overflow-anchor: none。当我们单击按钮时,我们会看到上面创建的新框如何将文本向下推。
<html> <head> <style> .container-overflow { padding: 2px; width: 280px; aspect-ratio: 1; border: 3px solid #2d7742; overflow: scroll; overflow-anchor: none; display: flex; flex-direction: column; align-items: center; background-color: #2fe262; } .box { background-color: #D90F0F; width: 150px; height: 20px; margin: 5px; padding: 5px; text-align: center; aspect-ratio: 4/1; } h4 { text-align: center; color: #1c0fd9; } button { background-color: #e5e90f; border: none; padding: 10px; border-radius: 5px; font-size: medium; } </style> </head> <body> <p>Click the button to create a new text boxes. The new text boxes will push the existing text down.</p> <div class="container-overflow"> <div id="newText"></div> <h4>Tutorialspoint CSS Overflow-anchor</h4> <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites</p> <button onclick="addText()">Click me</button> </div> <script> function addText(){ let newTextBox = document.querySelector("#newText"); let newTextDiv = document.createElement("div"); newTextDiv.className = "box"; newTextBox.appendChild(newTextDiv); } </script> </body> </html>
CSS overflow-anchor - auto 值
以下示例显示了如何使用 overflow-anchor: auto 属性来使用其默认的滚动锚定行为。在这里,我们看到单击按钮(点击我)后,新的文本框添加到按钮上方。属性 overflow-anchor: auto 在 DOM 中当前位置上方发生更改时锁定用户在页面上的位置。这允许用户即使 DOM 中加载了新元素,也能停留在页面上的锚定位置。
<html> <head> <style> .container-overflow { padding: 2px; width: 280px; aspect-ratio: 1; border: 3px solid #2d7742; overflow: scroll; overflow-anchor: auto; display: flex; flex-direction: column; align-items: center; background-color: #2fe262; } .box { background-color: #D90F0F; width: 150px; height: 20px; margin: 5px; padding: 5px; text-align: center; aspect-ratio: 4/1; } h4 { text-align: center; color: #1c0fd9; } button { background-color: #e5e90f; border: none; padding: 10px; border-radius: 5px; font-size: medium; } </style> </head> <body> <p>Click the button to add a new text box. The existing text will stay visible (when you set overflow-anchor: auto) even if you add new text boxes.</p> <div class="container-overflow"> <div id="newText"></div> <h4>Tutorialspoint CSS Overflow-anchor</h4> <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites</p> <button onclick="addText()">Click me</button> </div> <script> function addText(){ let newTextBox = document.querySelector("#newText"); let newTextDiv = document.createElement("div"); newTextDiv.className = "box"; newTextBox.appendChild(newTextDiv); } </script> </body> </html>
广告