Der Baum hinter der Seite
Ein HTML-Quelltext sieht aus wie eine Liste von Zeilen. Der Browser macht daraus etwas anderes: einen Baum.
Vom Text zum Baum
<body>
<header>
<h1>Waffelblog</h1>
</header>
<main>
<article>
<h2>Klassische Waffeln</h2>
<p>Mehl, Eier und <strong>Milch</strong>.</p>
</article>
</main>
</body>
Derselbe Quelltext als Baum:
graph TD
BODY[body] --> HEADER[header]
BODY --> MAIN[main]
HEADER --> H1["h1: Waffelblog"]
MAIN --> ART[article]
ART --> H2["h2: Klassische Waffeln"]
ART --> P["p: Mehl, Eier und"]
P --> STRONG["strong: Milch"]
Die Baumdarstellung einer Seite heißt DOM (Document Object Model). Für die Verwandtschaft gibt es feste Begriffe:
headerundmainsind Kinder vonbody.bodyist ihr Elternelement.headerundmainsind Geschwister.h1,h2,pundstrongsind alle Nachfahren vonbody.
Die Einrückung im Quelltext bildet genau diese Tiefe ab: Jede Ebene im Baum ist eine Einrückung mehr.
Der Baum ist keine Theorie – du siehst ihn direkt. Öffne die Entwicklerwerkzeuge (F12) und wechsle in den Reiter Elemente. Genau das ist der Baum, mit Dreiecken zum Auf- und Zuklappen.
Wenn du dort auf ein Element klickst, wird es in der Seite hervorgehoben. Umgekehrt findest du über das Auswahlwerkzeug (das Symbol mit dem Mauszeiger im Rechteck) zu jeder Stelle der Seite das zugehörige Element.
Den Baum lesen
a) Zeichne den Baum zu diesem Quelltext auf Papier.
b) Wie viele Kinder hat <section>?
c) Wer ist das Elternelement von <em>?
d) Ist <strong> ein Nachfahre von <main>? Ist es ein Kind von <main>?
e) Die CSS-Regel im Übungsbereich zeichnet um jedes Element einen Rahmen. Zähle die Rahmen und vergleiche mit deinem Baum.
Tipp zu a): Wie fange ich an zu zeichnen?
Geh den Quelltext von oben nach unten durch und führ dabei einen Stift mit:
- Das äußerste Element kommt ganz nach oben aufs Blatt.
- Bei jedem Starttag hängst du ein neues Kästchen unter das Element, das gerade offen ist.
- Bei jedem Endtag gehst du eine Ebene zurück nach oben.
Die Einrückung im Quelltext hilft dir dabei – sie zeigt bereits, wie tief du gerade bist.
Warum der Baum wichtig ist
Drei Dinge folgen aus der Baumstruktur, die du sonst nur auswendig lernen müsstest:
- Elemente müssen sich sauber schachteln.
<p><strong>Text</p></strong>ergibt keinen Baum – die beiden Elemente überlappen sich. Ein Baum kennt nur „ganz drin" oder „ganz draußen". - CSS vererbt sich nach unten. Setzt du am
bodyeine Schriftart, gilt sie für alle Nachfahren. Der Baum ist der Weg, den die Vererbung nimmt. - Ein Klick trifft mehrere Elemente. Klickst du auf das Wort Milch, hast du zugleich in
strong, inp, inarticle, inmainund inbodygeklickt. Jedes umschließende Element ist mitgemeint.
Prüfe Punkt 2 aus dem Kasten selbst nach.
a) Sag voraus: Welche der drei Texte werden grün, wenn du die Regel section { color: green; } anwendest?
b) Probiere es aus.
c) Ergänze h2 { color: black; } und erkläre das Ergebnis.