Итак, у меня есть следующая структура
<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 или его родительский.
Любые предложения?