Итак, у меня есть следующая структура
<div id="container">
<div id="head"></div>
<div id="body"></div>
<div id="foot"></div>
</div>
Я использую только идентификаторы для иллюстрации, поэтому это не обязательно для полной страницы.
Я хочу, чтобы мой контейнер указывал фиксированный размер... или относительный размер, не имеет значения. Позволяет ради аргумента сказать высоту 300px. Также overflow: hidden
Я хочу, чтобы head/foot расширялся, чтобы соответствовать содержимому внутри себя, поэтому height: auto
достаточно.
Я хочу, чтобы тело расширялось, чтобы соответствовать оставшемуся пространству между головой и ногой. Если содержимое слишком велико, то прокрутите (overflow: auto
).
height: 100%
on #body
не работает, потому что тогда он получает высоту 300 пикселей, как родительский, и выталкивает часть себя и нижний колонтитул из родителя.
Наличие головы и ноги position: absolute
не работает, потому что, вынимая их из потока документа, содержимое #body
скрыто. Чтобы исправить это, мы можем использовать padding-top/bottom, но мы не можем установить padding-top: xxpx
/padding-bottom: xxpx
на #body
, потому что мы не знаем необходимую высоту головы/ноги, поэтому почему они height: auto
.
Edit:
Я попытался преобразовать контейнер /head/body/foot в таблицу, где #body
- height: 100%
. Это отлично работает, за исключением того, что #body
не будет прокручиваться, если содержимое становится слишком большим, вместо этого вся таблица расширяется, чтобы показать весь контент. Это не желаемое поведение, поскольку мне нужно #body
прокручивать, а не #content
или его родительский.
Любые предложения?