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

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

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

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

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

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

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

Спасибо.

Ответы [ 6 ]

17 голосов
/ 25 августа 2010

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

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

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

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

4 голосов
/ 24 августа 2010

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

0 голосов
/ 05 марта 2013

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

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

html,body { height: 100%; }

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

html { height: 100%; }

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

Мир ...

0 голосов
/ 24 августа 2010

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

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

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

0 голосов
/ 24 августа 2010

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

Вы также можете установить высоту, используя JavaScript, но это выглядит немного странно

0 голосов
/ 24 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...