Выпадает ли position absolute из DOM?

Рейтинг: 0Ответов: 1Опубликовано: 17.03.2023

Я смотрел ролик про позицинирование в css. Автором была сказана такая мысль, что когда элементу применяется абсолютное позиционирование, то он как бы выпадает из DOM дерева, аналогично как это происходит с display none. Т.е другие элементы его не видят и не реагируют. Так ли это, или это в корне неправильное объяснение? У меня тогда встречный вопрос, почему тогда появляется горизонтальная прокрутка если отодвинуть элемент далеко вправо за границы вьюпорта, он же как сказал автор "выпадает" на странице и должно быть все равно?

И еще небольшой вопросик, почему если отодвинуть элемент вправо за границы, то горизональная прокрутка появляется, а если в лево то нет, насколько далеко не двигали бы? Мне кажется это довольном странно. С right работает таким образом, left совсем наоборот

Ответы

▲ 0

Думаю всё дело в направлении "direction: ltr или rtl". Оно задаёт начало слева или справа. Думаю даже у арабов или Евреев например скролл появляется не справа, а слева.

.okno-brauzera {
  width: 500px;
  height: 250px;
  display: block;
  background: yellow;
  overflow-x: auto;
  position: relative;
}
.okno-brauzera.rtl {
  direction: rtl;
}
.element-left {
  display: block;
  width: 100px;
  height: 100px;
  background: green;
  position: absolute;
  left: -50px;
}
.element-right {
  display: block;
  width: 100px;
  height: 100px;
  background: green;
  position: absolute;
  right: -50px;
}
<div class="okno-brauzera">
  <div class="element-left"></div>
  <div class="element-right"></div>
</div>

<div class="okno-brauzera rtl">
  <div class="element-left"></div>
  <div class="element-right"></div>
</div>