Почему полоса прокрутки не появляется, даже если она выступает влево? - PullRequest
5 голосов
/ 08 февраля 2020

Я создал этот код. Это переполняет вправо, что приводит к появлению полосы прокрутки:

.content {
  position: absolute;
  height: 100px;
  width: 100px;
  right: -50px;
  top: 50px;
}
<div class="content">
  CONTENT
</div>

Однако этот код, который распространяется влево, не генерировал полосы прокрутки. Я истолковал из спецификации W3 C, что это создаст полосы прокрутки в обоих направлениях.

Свойство overflow-x определяет обработку переполнения в горизонтальном направлении (то есть переполнение слева и справа сторон коробки), а свойство overflow-y определяет обработку переполнения в вертикальном направлении (т. е. переполнение с верхней и нижней сторон поля).

https://www.w3.org/TR/css-overflow-3/

.content {
  position: absolute;
  height: 100px;
  width: 100px;
  left: -50px;
  top: 50px;
}
<div class="content">
  CONTENT
</div>

Объясняет ли спецификация W3 C, почему полосы прокрутки не генерируются при проецировании влево?

1 Ответ

3 голосов
/ 09 февраля 2020

Это этот абзац из раздела 3.3. Прокрутка происхождения, направления и ограничения

Из-за ограничений веб-совместимости (вызванных тем, что авторы используют устаревшие ошибки, чтобы скрытно скрыть контент от визуальных читателей, но не от поисковых систем и / или речевого вывода), UA должны обрезать прокручиваемую область переполнения контейнеров прокрутки со стороны начала блока и встроенного начала блока (таким образом, ведя себя так, как будто у них не было переполнения прокрутки на этой стороне).

Другими словами переполнение условно происходит с обеих сторон. Но это обрезано .

...