lundi 29 juin 2009

[css] Appliquer une hauteur de 100% à un div

C'est un vieux casse-tête qu'on voit régulièrement sur les forums, on y trouve même un certain fatalisme et le recours au javascript. Pourtant à une demande aussi simple la solution se devait simple aussi !

Pour qu'une feuille de style prenne en compte le height:100%; qu'on place dans un div, il faut lui préciser qu'on se base sur l'hauteur de l'ensemble de la page. Il faut donc ajouter height:100%; à deux endroits supplémentaires : html et body. Ce qui donne, pour un div dont l'id est contenant :

html { height:100%;}
body { background-color:#3a2f2f; height:100%; }
#contenant { min-height:100%; }


Ça marche avec firefox, IE, et Chrome (un nouveau navigateur plein d'avenir, essayez-le !). C'est en ligne ici.

1 commentaires:

codak a dit…

\o/ Bravo!
j'ai quand même quelques bugs, puisqu'il semblerait qu'ensuite tout les 100% des autres classes prennent comme référence le 100% du html (donc le site fait plus du 100% du navigateur). mais je n'ai pas encore vraiment eu le temps de bidouiller tout cela!