Kurz-Fakten
- HTML selbst kennt die Begriffe Block und Inline seit HTML5 nicht mehr als Elementkategorien
- Die Spezifikation ordnet Elemente stattdessen nach Inhaltskategorien wie Flow Content und Phrasing Content
- Der Zeilenumbruch stammt aus dem Vorgabewert display: block im Stylesheet des Browsers
- Ein Element mit display: inline verhält sich wie ein Inline-Element, ohne seine Bedeutung zu ändern
- Was ein Element enthalten darf, hängt an der Inhaltskategorie – nicht daran, wie es dargestellt wird
Einordnung für die Praxis
Die alte Einteilung bleibt als Faustregel nützlich, führt aber zu einem verbreiteten Fehlschluss: dass ein Element durch display: inline auch inhaltlich zu einem Inline-Element würde. Das ist nicht so. Ein <div> darf auch dann nicht in einem Absatz stehen, wenn es inline dargestellt wird – der Validator prüft die Kategorie, nicht die Anzeige.
Wer die Regeln wirklich braucht, schaut auf die Inhaltskategorie in der Spezifikation. Für den Alltag genügt: Struktur trägt der Elementname, Aussehen trägt CSS.