Свойство offsetParent
содержит ближайшего
родителя, относительно которого происходит
позиционирование элемента. Это будет либо
ближайший родитель, у которого CSS свойство
position
не равно static, либо тег body
,
если родителя с таким позиционированием нет.
Синтаксис
элемент.offsetParent
Пример
Давайте найдем родительский элемент со свойством position, отличными от static:
<div id="parent3">
<div id="parent2" style="position: relative">
<div id="parent1">
<p id="elem">text</p>
</div>
</div>
</div>
let elem = document.querySelector('#elem');
console.log(elem.offsetParent.id);
Результат выполнения кода:
'parent2'
Пример
Если у родительских элементов нет позиционирования, то offsetParent содержит body:
<div>
<p id="elem">text</p>
</div>
let elem = document.querySelector('#elem');
console.log(elem.offsetParent.tagName);
Результат выполнения кода:
'BODY'
Смотрите также
-
свойство
offsetParent
,
которое содержит родителя с позиционированием -
свойство
offsetTop
,
которое содержит смещение элемента сверху -
свойство
offsetLeft
,
которое содержит смещение элемента слева -
метод
getBoundingClientRect
,
который находит смещение элемента