Ceci est un exemple d'une mise en page qui est quelque peu problématique avec CSS "pure" mais trivial avec les tables. Premièrement, il n'y a aucun moyen d'exprimer (en ignorant les expressions CSS, que vous avez tendance à vouloir éviter) "reste de la page" ou "100% moins 50px" donc la solution générale à ce problème est.
Créer un conteneur dont la hauteur est égale à 100%;
Mettez l'en-tête à hauteur 50px;
Le contenu prend simplement le reste de l'espace. Tout style est appliqué au conteneur et non au contenu.
Alors:
<div id="container">
<div id="header"></div>
<div id="content"></div>
</div>
avec:
html, body. #container { height: 100%; }
#container { height: 100%; min-height: 100%; }
#header { height: 50px; }
Il est plus compliqué si vous voulez un pied de page. Cela est généralement placé absolument au fond et rembourrage est utilisé sur le conteneur de sorte que rien ne se trouve en dessous.
http://stackoverflow.com/questions/90178/make-a-div-fill-the-remaining-screen-space –