Je suis d'accord avec Levik, car le conteneur parent est défini à 100%. Si vous avez des barres latérales et que vous voulez qu'elles remplissent l'espace pour rejoindre le pied de page, vous ne pouvez pas les définir à 100% car elles seront également à 100% de la hauteur du parent, ce qui signifie que le pied de page sera poussé vers le bas lorsque vous utiliserez la fonction d'effacement.
Pensez-y de la manière suivante : si votre en-tête a une hauteur de 50px et votre pied de page une hauteur de 50px et que le contenu s'adapte automatiquement à l'espace restant, par exemple 100px, et que le conteneur de la page représente 100 % de cette valeur, sa hauteur sera de 200px. Lorsque vous définissez la hauteur de la barre latérale à 100 %, elle est alors de 200px, alors qu'elle est censée s'insérer parfaitement entre l'en-tête et le pied de page. Au lieu de cela, elle fait 50px + 200px + 50px, ce qui fait que la page fait maintenant 300px parce que les barres latérales sont fixées à la même hauteur que le conteneur de la page. Il y aura un grand espace blanc dans le contenu de la page.
J'utilise Internet Explorer 9 et voici ce que j'obtiens comme effet en utilisant cette méthode à 100%. Je n'ai pas essayé avec d'autres navigateurs et je suppose que cela peut fonctionner avec certaines des autres options, mais ce ne sera pas universel.
32 votes
Vous pourriez envisager
min-height: 100vh;
. La hauteur est ainsi égale ou supérieure à la taille de l'écran,vh: vertical height
. Pour plus d'informations : w3schools.com/cssref/css_units.asp .2 votes
Juste une précision,
vh
signifieviewport height
et donc vous pouvez également utiliservw
pourviewport width
yvmin
pour la dimension la plus petite,viewport minimum
.1 votes
Cette solution donnera des résultats indésirables sur chrome pour Android (il faudrait vérifier sur d'autres navigateurs mobiles comme Safari) car 100vh ne sera pas la même chose que 100%. En effet, la hauteur 100% correspond à la hauteur de l'écran moins la barre d'adresse en haut de l'écran, alors que 100vh correspond à la hauteur de l'écran sans la barre d'adresse. L'utilisation de 100vh ne fonctionnera donc pas sur chrome pour Android. Votre pied de page se trouvera sous le pli d'une hauteur correspondant à la hauteur de la barre d'adresse du navigateur.
0 votes
Vous pouvez y parvenir avec Flexbox. Voir exemple .
1 votes
Aujourd'hui, "100vh" fonctionne comme un charme.