Свойство offsetParent

Свойство offsetParent содержит ближайшего родителя, относительно которого происходит позиционирование элемента. Это будет либо ближайший родитель, у которого CSS свойство position не равно static, либо тег body, если родителя с таким позиционированием нет.

Синтаксис

javascriptэлемент.offsetParent;

Пример

Давайте найдем родительский элемент со свойством position, отличными от static:

html<div id="parent3">
  <div id="parent2" style="position: relative">
    <div id="parent1">
      <p id="elem">text</p>
    </div>
  </div>
</div>
javascriptlet elem = document.querySelector('#elem');
console.log(elem.offsetParent.id);

Результат выполнения кода:

javascript'parent2'

Пример

Если у родительских элементов нет позиционирования, то offsetParent содержит body:

html<div>
  <p id="elem">text</p>
</div>
javascriptlet elem = document.querySelector('#elem');
console.log(elem.offsetParent.tagName);

Результат выполнения кода:

javascript'BODY'

Смотрите также

  • свойство offsetParent,
    которое содержит родителя с позиционированием
  • свойство offsetTop,
    которое содержит смещение элемента сверху
  • свойство offsetLeft,
    которое содержит смещение элемента слева
  • метод getBoundingClientRect,
    который находит смещение элемента