This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The HTMLElement.offsetParent read-only property returns a reference to the element which is the closest (nearest in the containment hierarchy) positioned ancestor element.
A positioned ancestor might be:
td, th, table in case the element itself is static positioned.If there is no positioned ancestor element, the body is returned.
Note: offsetParent returns null in the following situations:
display property set to none.position property set to fixed (Firefox returns <body>).<body> or <html>.offsetParent is useful because offsetTop and offsetLeft are relative to its padding edge.
An object reference to the element in which the current element is offset.
| Specification |
|---|
| CSSOM View Module> # dom-htmlelement-offsetparent> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
offsetParent |
1 | 12 | 1 | 8 | 3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
© 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/offsetParent