HTML DOM Element offsetTop 属性
定义和用法
offsetTop
属性返回相对于父级的顶部位置(以像素计)。此属性是只读的。
返回值包括:
- 元素的顶部位置和外边距
- 父的顶部内边距、滚动条和边框
请参阅:CSS 框模型教程
offsetParent
所有块级元素都报告相对于偏移父级的偏移量:
- offsetTop
- offsetLeft
- offsetWidth
- offsetHeight
偏移父级指的是最近的具有非静态位置的祖先。
如果不存在偏移父级,则偏移量是相对于文档正文的。
另请参阅:
实例
例子 1
获取 "myDIV" 的 offsetTop 位置:
const element = document.getElementById("myDIV"); let pos = element.offsetTop;
例子 2
获取 "myDIV" 的位置:
const element = document.getElementById("test"); Let pos1 = element.offsetTop; let pos2 = element.offsetLeft;
例子 3
创建粘性导航栏:
// 获取导航栏 const navbar = document.getElementById("navbar"); // 获取导航栏的偏移位置 const sticky = navbar.offsetTop; // 当您到达其滚动位置时,将 sticky 类添加到导航栏。离开滚动位置时删除 sticky 类。 function myFunction() { if (window.pageYOffset >= sticky) { navbar.classList.add("sticky") } else { navbar.classList.remove("sticky"); } }
语法
返回 top offset 位置:
element.offsetTop
返回值
类型 | 描述 |
---|---|
数字 | 元素的顶部位置,以像素计。 |
浏览器支持
所有浏览器都支持 element.offsetTop
:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |