Это пример компоновки, которая несколько проблематична для «чистого» CSS, но тривиальна для таблиц.
Во-первых, нет способа выразить (игнорируя CSS-выражения, которых вы склонны избегать) "остальной части страницы" или "100% минус 50 пикселей", поэтому общее решение этой проблемы:
Создать контейнер, высота которого 100%;
Поместите заголовок на высоту 50px;
Контент просто занимает остальное пространство. Любой стиль применяется к контейнеру, а не к содержимому.
Итак:
<div id="container">
<div id="header"></div>
<div id="content"></div>
</div>
с:
html, body. #container { height: 100%; }
#container { height: 100%; min-height: 100%; }
#header { height: 50px; }
Становится сложнее, если вы хотите нижний колонтитул. Обычно он расположен абсолютно внизу, а на контейнере используется прокладка, поэтому под ним ничего не появляется.