Я знаю, как обеспечить, чтобы тело HTML вертикально растягивалось/сжималось до 100% высоты окна просмотра браузера (имея 100% высоты в теле и правилах html).
Я также знаю, что обычный поток HTML приведет к тому, что контейнеры будут вертикально растягиваться, чтобы содержать их содержимое (если все настроено правильно).
Тем не менее, я не могу достичь обоих.
Т.е. я не могу победить CSS, чтобы убедиться, что когда моя страница просматривается на экране с высоким разрешением, который он вертикально растягивает, чтобы не оставлять пробелов, и чтобы убедиться, что если моя страница просматривается на экране с более низким разрешением, который тело растягивает мимо окна просмотра (для размещения весь контент) и вводит полосы прокрутки.
Для меня это идеальное поведение, и все же я, к сожалению, считаю, что это невозможно добиться исключительно в CSS. Я знаю, что я могу сделать это на JavaScript довольно легко, но я хочу, чтобы это можно было сделать только в CSS.
Возможно ли, или я вынужден использовать JavaScript?
Редактирование: я исследовал, пробовал и тестировал множество методов, но похоже, что это невозможно. Похоже, мне придется вернуться к JavaScript.
Хорошо, так что это определенно работает для меня:
html {
height: 100%;
}
body {
min-height: 100%;
display: flex;
}
#wrapper {
width: 100%; /* Necessary because of side-effect of flex */
height: 100%;
}
Именно то, что я пробовал раньше, но я думал, что я дам эту новую функцию CSS "flex", и она сделала трюк. Таким образом, похоже, что менеджеры/создатели CSS, наконец, решили эти критические проблемы с динамической высотой и вертикальным центрированием.
Надеюсь, это поможет кому-то еще застрять в этом вопросе.
Вдохновляя вопрос, который, похоже, почти такой же, как у меня: сделайте тело 100% высоты браузера
Это работает на меня:
html {
height: 100%;
}
body {
min-height: 100%;
}
Вы можете использовать свойство min-height css.
html, body {
min-height: 100%;
}
min-height: 100%; /* other browsers */
height: auto !important; /* other browsers */
height: 100%; /* IE6: treated as min-height*/