положение: исправлено отсутствие полос прокрутки - PullRequest
5 голосов
/ 05 августа 2011

У меня есть <div>, который позиционируется с position:fixed.Когда окно слишком маленькое по горизонтали, чтобы поместиться в элемент div, полосы прокрутки не появляются, правая часть элемента div просто обрезается.

Если я перехожу в положение: absolute, полосы прокрутки отображаются как обычно.

Есть ли способ заставить браузер распознавать размер div и необходимость его прокрутки, пока еще используется position: fixed?

Примечание: существует еще один div с позицией по умолчанию, объявленной передфиксированный div.

1 Ответ

10 голосов
/ 05 августа 2011

Полосы прокрутки просто несовместимы с фиксированной позицией, логически.Если вы скажете пользовательскому агенту исправить что-то, вы не должны ожидать полосы прокрутки, так как они переместят что-то.Почему бы вам не использовать position: absolute, как это выглядит для вашего примера?

Редактировать :
@ Горизонтально-прокручиваемый div: от макушки головы,Я хотел бы сделать что-то вроде следующего CSS (ПРИМЕЧАНИЕ: я не проверял это, и это только дает вам приблизительное представление)

#myContentWrapper {
  position: absolute; /* here, fixed or relative may work too*/
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: scroll; /* also, try auto */
}
#myContentWrapper #myContent {
  width: 5000px; /* example */
}

С этим, если вы вложитеdiv тег с id="#myContent" в id="$myContentWrapper", я думаю, он может сделать то, что вы ищете.

Разница в вашем подходе в том, что вложенный элемент большой,и элемент parent равен absolute / fixed / что угодно.

...