Как получить offsetParent для текста внутри display: contents?
Для div и текста в нём offsetParent достаётся нормально, но для section и текста непосредственно в нём получается null. Как ещё можно получить offsetParent желательно не проверяя всех родителей самому в цикле?
Кстати, статья на mdn ничего не говорит о взаимодействии display: contents и offsetParent - там только о display: none.
function logOffsetParent(node) {
console.log(
node.outerHTML || node.textContent,
' ',
'offsetParent' in node
? node.offsetParent
: node.parentElement?.offsetParent,
)
}
logOffsetParent(document.querySelector('div'))
logOffsetParent(document.querySelector('div').firstChild)
logOffsetParent(document.querySelector('section'))
logOffsetParent(document.querySelector('section').firstChild)
main {
position: relative;
}
section {
display: contents;
}
<main><section>in section<div>in div</div></section></main>
PS: Этот вопрос на английском.