HTMLElement: offsetParent property

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:

  • a containing block for absolutely-positioned elements
  • an element with a different effective zoom value (that is, the product of all zoom scales of its parents) from this element
  • 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:

  • The element or any ancestor has the display property set to none.
  • The element has the position property set to fixed (Firefox returns <body>).
  • The element is <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.


CSSOM View Module
# dom-htmlelement-offsetparent

Browser compatibility

BCD tables only load in the browser