HTML - Pourquoi le fond d'écran appliqué à l'élément body s'étend à toute la fenêtre ?

Le par Anthony Domps.

La règle est simple

L'arrière-plan appliqué à l'élément racine du document s'applique à toute la surface sur laquelle le document est affiché (canvas).

pinceaux

Cela signifie que si la taille de l'élément <body> est inférieure à celle de la fenêtre, l'arrière-plan s'applique tout de même à toute la fenêtre.

Cette règle CSS déclare une hauteur de 0 pixel et la couleur rouge en arrière-plan pour l'élement <body> :

body {height:0;background-color:red;}

Malgré une hauteur forcée à 0, l'arrière-plan de la fenêtre du navigateur sera entièrement rouge.

L'élément racine : <html> ou <body> ?

Techniquement parlant, l'élément racine d'un document HTML est l'élément <html>. D'ailleurs, si on applique un arrière-plan sur cet élément, toute la fenêtre est impactée conformément à la règle énoncée plus haut.

html {background-color:red;}
body {background-color:transparent;}

Cependant, la recommandation du W3C est d'utiliser l'élément <body> pour appliquer un arrière plan à un document HTML.