Это позволит вам довольно близко, но не 100% пути (каламбур). Чтобы придать элементу 100% высоты, нужно знать «100% чего?». Все родительские элементы также должны иметь высоту 100%, включая тело. Или, как выразился W3C: «Если высота содержащего блока не указана явно (то есть зависит от высоты содержимого), и этот элемент не является абсолютно позиционированным, значение вычисляется как« auto »». Как вы можете видеть, нам также нужно дать телу «положение: абсолютное»; для высоты, чтобы быть в чести. Этот пример также делит ширину на пять равных столбцов с границами (и некоторые отступы и поля просто для удовольствия):
<style>
body {
width: 100%;
height: 100%;
margin: 0;
position: absolute;
/* overflow: hidden; */
}
div.section {
float: left;
width: 19.95%;
height: 100%;
}
div.column {
height: 100%;
border: 1px solid blue;
margin: 1em;
padding: 2em;
}
</style>
<div class="section"><div class="column">one</div></div>
<div class="section"><div class="column">two</div></div>
<div class="section"><div class="column">three</div></div>
<div class="section"><div class="column">four</div></div>
<div class="section"><div class="column">five</div></div>
Как вы можете видеть, когда вы проверяете это, у нас нет проблем с остроумием. Это потому, что «разделы», которые делят ширину, не имеют отступов, полей или границ. Таким образом, ширина, которую мы установим, будет шириной, которую они занимают на экране. Это не совсем верно на практике. Я на самом деле установил ширину 19,95%, а не ожидаемые 20%. Проблема в том, что некоторые браузеры (IE для одного) имеют ошибку округления при суммировании процентов и чем больше подразделений для сложения, тем больше ошибка.
Там, где этот метод явно не работает, когда дело доходит до высоты. В отличие от "width: auto;", которое заставит div занимать доступное горизонтальное пространство, "height: auto;" только сделает div таким же высоким, как и его содержимое. Вы должны указать «высота: 100%;» чтобы получить div для заполнения высоты окна, но, увы, при добавлении полей, отступов и границ визуализированная высота div становится больше области просмотра, что приводит к вертикальной полосе прокрутки.
Здесь я действительно могу видеть только два варианта; Либо 1) принять, что div не совсем заполняют высоту окна и установить их высоту, возможно, 80% или 2) пропустить нижнюю границу и установить тело на «переполнение: скрыто;», который будет обрезать части Дивы, которые выходят за край окна.
Наконец, конечно, вы также можете использовать несколько простых сценариев для достижения того, что вам нужно. Не должно быть очень сложно, но это вопрос с другим тегом ... Удачного кодирования!