138 votes

Comment un élément html peut-il remplir 100% de la hauteur d'écran restante, en utilisant uniquement css ?

J'ai un élément header et un élément content :

 #header
#content

Je veux que l'en-tête soit de hauteur fixe et que le contenu remplisse toute la hauteur restante disponible à l'écran, avec overflow-y: scroll; .

Est-ce possible sans Javascript ?

95voto

BentOnCoding Points 6199

L'astuce consiste à spécifier 100% de hauteur sur les éléments html et body. Certains navigateurs se tournent vers les éléments parents (html, body) pour calculer la hauteur.

 <html>
    <body>
        <div id="Header">
        </div>
        <div id="Content">
        </div>
    </body>
</html>

html, body
{
    height: 100%;
}
#Header
{
    width: 960px;
    height: 150px;
}
#Content
{
    height: 100%;
    width: 960px;
}

22voto

Vous pouvez utiliser vh sur la propriété min-height.

 min-height: 100vh;

Vous pouvez procéder comme suit, selon la façon dont vous utilisez les marges...

 min-height: calc(100vh - 10px) //Considering you're using some 10px margin top on an outside element

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X