Tous les éléments ne sont pas affichés de la même façon par le navigateur. La différence entre les modes d'affichage est particulièrement importante pour la structure de la page et la mise en page / mise en forme.
Certains éléments ne sont pas affichés par le navigateur. Ces éléments invisibles sont par exemple les éléments d'en-tête constitués d'informations sur le document lui-même qui vont surtout servir au navigateur pour définir des traitements spécifiques (encodage du fichier HTML, paramètres HTTP de mise en cache ou autres, etc).
Ca peut aussi être n'importe quel élément auquel on aurait associé
l'attribut hidden.
Si un élément invisible contient d'autres éléments, ces élements seront eux aussi invisibles.
Certains éléments vont être affichés les uns en dessous des autres. Ce sont des éléments en mode d'affichage bloc, généralement des éléments de structure ou de groupement.
La structuration sémantique de l'information qu'ils font est pour ainsi dire rendue visuellement à l'écran par des blocs d'informations affichés les uns en dessous des autres, généralement séparés par des marges (ie saut de ligne).
Par défaut des éléments de bloc ne peuvent pas être les uns à côté des autres. Un tel affichage doit être forcé avec des propriétés spécifiques aux feuilles de style, et ne peut pas être réalisé en HTML pur (à moins d'utiliser des tableaux pour faire la mise en page).
Un élément bloc peut contenir d'autres éléments de bloc et des éléments en ligne.
Les éléments en mode d'affichage en ligne (inline) sont affichés les uns à côté des autres. On trouve bien sûr tous les éléments textes, mais aussi les éléments embarqués et les éléments de formulaires.
Les éléments en ligne sont obligatoirement contenu dans un élément de bloc (au minimum le body du document).
Les éléments en ligne peuvent contenir uniquement d'autres éléments en ligne.