Ein HTML-Dokument hat zwei Hälften: den Kopfbereich mit Angaben über die Seite und den Rumpf mit dem, was der Besucher sieht. Der Rumpf ist das body-Element.
Der kleinste vollständige Rumpf
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Beispielseite</title>
</head>
<body>
<h1>Überschrift der Seite</h1>
<p>Ein Absatz mit Text.</p>
</body>
</html>
Speichern als index.html, im Browser öffnen – fertig. Ein Server wird dafür nicht gebraucht.
Was hineingehört
In den Rumpf gehört Inhalt, keine Metaangaben. Erlaubt ist alles, was die Spezifikation als Flow Content bezeichnet: Überschriften, Absätze, Listen, Tabellen, Bilder, Formulare, Bereichselemente.
Ein sauber gegliederter Rumpf sieht heute typischerweise so aus:
<body>
<header>
<a href="/">Logo</a>
<nav>…</nav>
</header>
<main>
<h1>Titel der Seite</h1>
<article>…</article>
</main>
<footer>
<p>© 2026</p>
</footer>
</body>
Das main-Element darf pro Dokument nur einmal ohne hidden-Attribut vorkommen. Es markiert den Bereich, der diese Seite von allen anderen unterscheidet – Screenreader bieten ihn als Sprungziel an.
Der Rumpf schließt sich notfalls selbst
Die öffnenden und schließenden Tags von html, head und body dürfen in HTML weggelassen werden – der Parser ergänzt sie. Das ist gültig, aber selten sinnvoll: Sobald jemand später etwas einfügt, hängt die Struktur von Regeln ab, die niemand im Kopf hat.
Merkbar ist die Grenze zwischen Kopf und Rumpf: Der Parser beendet den Kopfbereich automatisch, sobald das erste Element auftaucht, das dort nichts zu suchen hat. Ein versehentlich in den Kopf gerutschter Absatz erzeugt deshalb keinen Fehler – er öffnet still den Rumpf, und alles danach steht an einer anderen Stelle als gedacht.
Skripte und die Reihenfolge
Die alte Empfehlung, script-Elemente ans Ende des Rumpfes zu setzen, hat einen einfachen Grund: Ein Skript ohne Zusatz hält den Aufbau der Seite an. Steht es am Ende, ist alles Sichtbare bereits da.
Der heutige Weg ist sauberer: das Skript im Kopfbereich mit defer. Es wird parallel geladen, ausgeführt wird es erst, wenn das Dokument steht – und die Reihenfolge mehrerer Skripte bleibt erhalten.
<head>
<script src="/js/app.js" defer></script>
</head>
Gestaltung gehört nicht hierher
Attribute wie bgcolor, text oder background am body stammen aus den 1990er Jahren und sind nicht mehr Teil der Spezifikation. Browser verstehen sie teilweise noch; gültig sind sie nicht. Hintergrundfarbe und Schrift gehören in ein Stylesheet.