Проценты %
при задании высоты height
блока — не работают. Проценты работают только при задании ширины. Точнее свойство height, указанное в %, работает если для внешнего блока указана высота.
Существует правило:
Если высота внешнего блока вычисляется по содержимому, то высота в % не работает, и заменяется на
height: auto
. Кроме случая, когда у элемента стоитposition: absolute
.
Если необходимо задать высоту блока — следует указывать значение в px
или других фиксированных единицах, либо задав position: absolute
. На практике это часто выручает. Для изображений также желательно задавать только ширину или только высоту — в этом случае браузер автоматически пропорционально изменит вторую размерность.
Чтобы блок был 100% высоты области просмотра
height: 100%
, всем его родительским элементам (напримерhtml
иbody
) тоже должна быть задана 100% высота.