Вопрос проверяет понимание механизма определения содержащего блока для элементов с position: absolute в CSS.
Элемент с position: absolute позиционируется относительно своего содержащего блока (containing block). Содержащий блок — это ближайший предок, у которого свойство position установлено в значение, отличное от static. Это может быть relative, absolute, fixed или sticky. Если такой предок отсутствует, содержащим блоком становится корневой элемент <html>.
Рассмотрим несколько ситуаций:
position: relative — абсолютно позиционированный дочерний элемент будет позиционироваться относительно него.position: absolute — также может быть содержащим блоком для вложенного абсолютного элемента.position: fixed — аналогично.position (кроме static), то содержащим блоком будет <html>.<div style="position: relative; width: 300px; height: 200px; background: lightblue;">
<div style="position: absolute; top: 10px; left: 10px; background: red;">
Абсолютный блок
</div>
</div>В этом примере красный блок будет расположен на 10px сверху и слева относительно синего родителя, так как у родителя position: relative.
Для позиционирования элемента с position: absolute необходимо явно задать position (не static) одному из предков. Это позволяет гибко управлять расположением элементов на странице, избегая зависимости от корневого элемента.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию