Если вы пытаетесь применить фоновые изображения, html
и они body
заполняют все окно браузера, то тоже . Используйте вместо этого:
html {
height: 100%;
}
body {
min-height: 100%;
}
Мое рассуждение приводится здесь (где я целостно объясняю, как применять фон таким образом):
Между прочим, причина, по которой вы должны указать height
and min-height
to 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 содержит все подробности, но это чрезвычайно запутанное чтение, поэтому вы можете пропустить его, если вас не интересует ничего, кроме того, что я объяснил здесь.
height: 100% is taken from the viewport, then applied to body as a minimum to allow for scrolling of content
простое простое решение ... спасибо //html
элемент имеетoverflow:visible
значение по умолчанию, поэтому я предполагаю, что полосы прокрутки появляются из-за поведения браузера, что позволяет отображать весь нормальный поток документа.overflow: auto
области просмотра, откуда берутся полосы прокрутки. Это описаноВы можете использовать
vh
блок высоты просмотра ( ):body { min-height: 100vh; }
Это относительно экрана, а не родительской высоты, поэтому вам не нужна высота html: 100%.
источник