Ta div qui fait 100%, doit être dans un parent qui lui contient une hauteur défini. Exemple, je veux une div qui fait toute la page, mon body doit alors faire 100 % de hauteur, et l' aussi, car pour que mon body fasse 100%, html doit avoir une hauteur défini, donc en gros : http://jsfiddle.net/maLsLf1u/ Exemple², tu as une div parent qui fait 200px de hauteur, tu as une div enfant qui fait 100 %, cette div enfant fera 200px ! Si tu as une hauteur défini en px, pas besoin de définir une hauteur sur ton body et html :)