Einteilung von HTML-Elementen in Kategorien

Vor HTML5 wurden zwei Kategorien von HTML-Elementen unterschieden.

Block-Elemente

Block-Elemente (block-level elements) definieren, wie die Bezeichnung schon andeutet, einen (Text-) Block, der von einem Zeilenumbruch geöffnet und von einem Zeilenumbruch geschlossen wird.

Block-Elemente müssen innerhalb von <body> </body> stehen. Block-Elemente dürfen zum Teil auch verschachtelt werden. Allerdings nicht alle. Beispielsweise führt eine Verschachtelung von <p> Elementen beim Validieren von HTML-Dokumenten zu Fehlern.

Inline-Elemente

Inline-Elemente stehen innerhalb von Block-Elementen und erzeugen keine Textumbrüche am Anfang und Ende des Elements.

Auch Inline-Elemente können ineinander verschachtelt werden. Das erste Inline-Element der Verschachtelung muss jedoch ein Nachfahre eines Block-Elements sein.

Element-Kategorien in HTML5

Die strenge Unterscheidung zwischen Block- und Inline-Elementen wird bei HTML5 aufgehoben. Hier stehen mehrere Grund-Kategorien zur Verfügung.

Block-Elemente entsprechen in HTML5 am ehesten den Fluss-Elementen.

Inline-Elemente entsprechen in HTML5 am weitgehend den Stil-Elementen.

Weitere Element-Kategorien in HTML5 sind z.B. Metadaten, Elemente zur Einbindung von Ressourcen oder interaktive Elemente. Einige der Element-Kategorien in HTML5 überschneiden sich auch. Die Kategorien der Elemente von HTML5 wird vom W3C hier genauer beschrieben.

Inline- und Block-Elemente spielen jedoch beim Validieren von HTML-Dokumenten immer noch eine Rolle.