XHTML HTML-элемент со 100% высотой, вызывающий полосы прокрутки

В моем файле CSS я использую это:

html,body{height:100%;padding:0;margin:0;border:0;}

Это приводит к появлению вертикальной полосы прокрутки в IE8, Chrome 5 и Mozilla 3.6, последней версии.

Кроме того, документ пуст, он имеет только теги html, head и body, поэтому ничего не выходит из экрана, чтобы вызвать это.

Настройка переполнения: скрыта; на элементе html полностью перестанет прокручиваться страница.

Как я могу убрать его, пожалуйста, но продолжайте прокручивать, когда контент выше высоты дисплея?

Спасибо.

Ответы

Ответ 1

Мне нужна высота 100% в документе XHTML, чтобы я мог иметь элементы div со 100%.

В любом случае, я нашел ответ:

Эта проблема возникает только тогда, когда верхний элемент имеет верхний предел. Кажется, что верхний край добавляется к 100% -ной высоте, что делает его выше и вызывает полосу прокрутки.

Таким образом, либо используйте padding-top для размещения самого верхнего элемента, либо используйте без верхнего поля между тегом и следующим элементом с верхним краем.

Ответ 2

переполнение: скрытые должны помочь и предотвратить отображение полос прокрутки (вы, вероятно, потеряете ~ 1px содержимого из-за ошибок округления

Ответ 3

Там могут быть лучшие способы, но я просто по умолчанию 98%, что, кажется, устраняет полосы прокрутки во всех браузерах.

вы также можете установить высоту с помощью JavaScript, но это немного взломано.

Ответ 4

Сегодня я столкнулся с этой проблемой и обнаружил, что полоса прокрутки не вызвана верхним краем первого элемента, но, имея ОБА, элементы html и body имеют высоту 100%.

Итак, используя это правило CSS:

html,body { height: 100%; }

Я получаю полосы прокрутки. Если я изменил это на это правило CSS:

html { height: 100%; }

У меня нет полос прокрутки.

Мир...

Ответ 5

Вертикальная полоса прокрутки идет из-за height:100%. Вам это не нужно, если у вас нет причины использовать это.

Ответ 6

Почему вы устанавливаете высоту 100% в теле?

По умолчанию эта высота будет получена.

Имеет смысл установить высоту в теле только в том случае, если вы хотите установить числовую высоту в px, например, скажем 600px