Quelle est la meilleure façon de faire en sorte qu'un élément d'une hauteur minimale de 100 % traverse une zone de texte ? large éventail de navigateurs ?
En particulier, si vous avez une mise en page avec un header
y footer
de fixe height
,
comment faire pour que la partie centrale du contenu se remplisse 100%
de l'espace intermédiaire avec le footer
fixé au fond ?
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.