This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The offsetTop read-only property of the HTMLElement interface returns the distance from the outer border of the current element (including its margin) to the top padding edge of the offsetParent, the closest positioned ancestor element.
A number.
const d = document.getElementById("div1");
const topPos = d.offsetTop;
if (topPos > 10) {
// object offset is more
// than 10 pixels from its parent
}
| Specification |
|---|
| CSSOM View Module> # dom-htmlelement-offsettop> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
offsetTop |
1 | 12 | 1 | 8 | 3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
Element.clientTopElement.scrollTopHTMLElement.offsetHeightHTMLElement.offsetWidthHTMLElement.offsetLeftElement.getBoundingClientRect()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop