Teil 5 – Einführung in CSS

Der Dokumentenbaum - wie in einer Familie

Alle HTML-Dokumente sind Bäume. Jede Ebene des Baums wird genauso beschrieben wie in einem Stammbaum einer Familie, mit Vorfahren, Nachfahren, Eltern, Kindern und Geschwistern. CSS-Regeln basieren auf diesem Dokumentenbaum. Wenn Sie das Dokumentenbaum-Konzept verstehen, werden CSS-Selektoren einfach zu verstehen und anzuwenden sein.

Beginnen wir mit einem Beispiel in HTML. Dieses Beispiel enthält weder <head> noch <title>, da wir uns darauf konzentrieren wollen, was im <body> steht:

<body>
<div id="content">
<h1>Heading here</h1>
<p>Lorem ipsum dolor sit amet.</p>
<p>Lorem ipsum dolor <em>sit</em> amet.</p>
<hr>
</div>
<div id="nav">
<ul>
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
</ul>
</div>
</body>

Das Diagramm des Dokumentenbaums für das obige Beispiel würde wie folgt aussehen:

tree.gif

Ancestor (Vorfahre)

Ein ancestor bezieht sich auf jedes Element, was zwar mit dem aktuellen verbunden ist, sich jedoch weiter höher im Dokumentenbaum befindet – es spielt dabei keine Rolle wieviele Ebenen höher es sich befindet. Im folgenden Diagramm ist das <body>-Element der ancestor aller anderen Elemente der Seite.

Document tree diagram showing ancestor

Descendant (Nachfahre)

Ein descendant bezieht sich auf jedes Element, welches zwar mit dem aktuellen verbunden ist, sich jedoch tiefer im Dokumentenbaum befindet - egal wieviel tiefer. Im folgenden Diagramm sind alle Elemente, die sich unterhalb des <div>-Elementes befinden descendants dieses <div>s.

Document tree diagram showing descendant

Parent (Elternteil)

Ein parent ist ein Element, was mit dem aktuellen verbunden ist und sich im Dokumentenbaum direkt über diesem befindet. Im folgenden Diagramm ist das <div> ein parent von dem <ul>.

Document tree diagram showing parent

Child (Kind)

Ein child ist ein Element, was mit dem aktuellen verbunden ist und sich im Dokumentenbaum direkt unterhalb befindet. Im obigen Diagramm ist das <ul>-Element ein child des <div>-Elements.

Sibling (Geschwister)

Ein sibling ist ein Element, welches die gleichen Eltern mit einem anderen Element teilt. Im folgenden Diagramm sind die <li>-Elemente siblings, da sie alle das gleiche parent teilen – das <ul>-Element.

Document tree diagram showing sibling