Блок высотой на всю страницу и фиксированный "подвал" снизу

Давно хотел разобраться, как верстать сайт с блоком, который будет растягиваться по высоте на всю страницу, и наконец-то это сделал. Как выяснилось, все просто: нужно и тегу body, и тегу html указать в стиле высоту 100%, а после этого задать для нужного блока height: 100%, или min-height: 100%, если требуется растягивать блок по вертикали при большом объеме контента.

Но мне требвалось не только сделать такой блок, но и разместить внизу "подвал" так, чтобы он был всегда снизу и имел фиксированную высоту в пикселях. Причем была возможна ситуация, когда в основном блоек контента окажется больше, чем на одну страницу, и в этом случае "подвал" должен оказаться после его окончания (т.е. вариант со стилем position: absolute; bottom: 0 для подвала не подходил).

В итоге я сделал у "подвала" отрицательное поле сверху равным высоте блока, а в основной блок вложил еще один с положительным отступом снизу (тоже равным высоте), чтобы "подвал" не накладывался на контент. В итоге получился примерно такой код:

<html style="height: 100%">
<body style="height: 100%">
<div id="all" style="min-height: 100%"><!-- Начало основного блока -->
<div id="content" style="padding-bottom: 70px">
.... Основной контент страницы ...
</div></div>
<div id="footer" style="height: 70px; margin-top: -70px">Подвал</div>
</body></html>