высота: 100% или мин-высота: 100% для html и элементов тела?
при разработке макетов я установил html, body
элементов height
до 100%
но в некоторых случаях это не удается, так что следует использовать?
html, body {
height: 100%;
}
или
html, body {
min-height: 100%;
}
Ну, это не мнение, так как каждый метод имеет свои недостатки, так что рекомендуемый способ пойти и почему?
2 ответа:
если вы пытаетесь применить фоновое изображение к
html
иbody
, которые заполняют все окно браузера, ни один. Используйте этот код:html { height: 100%; } body { min-height: 100%; }
мои рассуждения дали здесь (где я объясняю целостно, как применять фон таким образом):
кстати, причина, по которой вы должны указать
height
иmin-height
доhtml
иbody
соответственно, потому что ни один элемент не имеет никакой внутренней высоты. Обаheight: auto
по умолчанию. Это видовой экран, который имеет 100% высоту, такheight: 100%
берется из окна просмотра, а затем применяется кbody
как минимум, чтобы обеспечить прокрутку контента.первый способ, используя
height: 100%
на обоих, предотвращаетbody
от расширения с его содержимым, как только они начинают расти за пределами высоты окна просмотра. Технически это не запретить содержимое от прокрутки, но это вызываетbody
оставить зазор под створкой, который как правило, нежелательно.второй способ, используя
min-height: 100%
на обоих, не вызываетbody
для расширения до полной высотыhtml
, потому чтоmin-height
с процентом не работает наbody
Еслиhtml
имеет явноеheight
.для полноты, 10 из спецификации CSS2.1 содержит все детали, но это очень запутанное чтение, поэтому вы можете пропустить его, если вас не интересует ничего, кроме того, что у меня есть объяснить здесь.