LU02c - Elemente um HTML zu strukturieren

Lernziele:

  • Den Unterschied zwischen Block- und Inline-Elementen verstehen
  • Die grundlegenden Eigenschaften und das Verhalten von Block- und Inline-Elementen kennen
  • Beispiele für Block- und Inline-Elemente identifizieren können
  • Wissen, wie man Block- und Inline-Elemente verwendet, um eine Webseite zu gestalten

Block- und Inline-Elemente

Sie werden hauptsächlich auf 2 Arten von HTML-Elementen stossen:

Block-Elemente wie:

Inline-Elemente wie:

Block-Elemente dienen dazu, die wichtigsten Teile Ihrer Seite zu strukturieren, indem sie Ihren Inhalt in zusammenhängende Blöcke unterteilen.

Inline-Elemente dienen dazu, einen Teil eines Textes zu differenzieren, um ihm eine bestimmte Funktion oder Bedeutung zu geben. Inline-Elemente bestehen in der Regel aus einem einzigen oder wenigen Wörtern.

Öffnende und schliessende Tags

Alle Elemente auf Blockebene haben einen öffnenden und einen schliessenden Tag.

Folglich sind selbstschliessende Elemente Inline-Elemente, einfach weil ihre Syntax es nicht zulässt, dass sie ein anderes HTML-Element enthalten.

Mit öffnenden und schliessenden Tags Selbstschliessend
Block-Elemente <p> </p>
<ul> </ul>
<ol> </ol>
Nicht möglich
Inline Elemente <a> </a>
<strong> </strong>
<em> </em>
<input>
<br>
<img>

Hierarchie von HTML Dokumenten

Ein HTML-Dokument ist wie ein grosser Stammbaum, mit Eltern, Geschwistern, Kindern, Vorfahren und Nachkommen. Er entsteht durch die Möglichkeit, HTML-Elemente ineinander zu verschachteln.

Verschachtelung

Schreiben wir einen einfachen Absatz und verbessern ihn, indem wir Teile des Textes durch zwei Inline-Elemente differenzieren:

<p>
  Sir <strong>Alex Ferguson</strong> once said about Filipo Inzaghi:<q>"That lad must have been born offside."</q>.
</p>

Sir Alex Ferguson once said about Filipo Inzaghi: „That lad must have been born offside.“.

In dieser Anordnung:

Die Tatsache, dass <strong> in Fettdruck dargestellt wird, ist nur das Standardverhalten des Browsers. Denken Sie daran, dass Sie HTML-Elemente nach ihrer Bedeutung auswählen müssen, nicht danach, wie sie aussehen.

In diesem Fall:

Reihenfolge

Wie die Verschachtelung funktioniert, hängt von der Position der öffnenden und schliessenden Tags ab.

Da ein HTML-Element aus einem öffnenden Tag, einem schliessenden Tag und allem, was dazwischen liegt, besteht, muss ein untergeordnetes Element vor dem Schliessen des übergeordneten Elements geschlossen werden.

<!-- This is INVALID code! :-( -->
<p>
  This HTML code won't work because I the "strong" tag is opened here <strong>but is only closed after the paragraph.
</p></strong>

Da das <strong>-Element nach dem <p>-Element geöffnet wurde (und somit als Kind von <p> gilt), muss das <strong>-Element vor dem übergeordneten <p>-Element geschlossen werden.

<!-- This is valid code. :-) -->
<p>
  This HTML code will work because I the "strong" tag is opened <strong>and closed</strong> properly.
</p>

Tiefe

Da untergeordnete Elemente selbst wiederum andere untergeordnete Elemente enthalten können, ist es möglich, eine tiefere Hierarchie innerhalb eines HTML-Dokuments zu erstellen.

Unser obiger Absatz könnte Teil eines Blog-Artikels sein:

<article>
  <h1>Famous football quotes</h1>
  <p>
    Sir <strong>Alex Ferguson</strong> once said about Filipo Inzaghi:<q>"That lad must have been born offside"</q>.
  </p>
  <p>
    When criticized by John Carew, <strong>Zlatan Ibrahimovic</strong> replied: <q>"What Carew does with a football, I can do with an orange"</q>.
  </p>
  <p>
    <strong>George Best</strong> said <q>"I spent a lot of money on booze, birds and fast cars. The rest I just squandered."</q> when asked about his lifestyle.
  </p>
</article>

In diesem Aufbau:

Die Analogie des Stammbaums gilt auch dann, wenn mehrere Ebenen der HTML-Schachtelung durchlaufen werden:

Block- und Inline-Schachtelung

Block-Elemente können entweder Block- oder Inline-Elemente enthalten.

Inline-Elemente können jedoch nur andere Inline-Elemente enthalten. (<a> ist davon die einzige Ausnahme)

<!-- This is INVALID code! :-( -->
<strong>
  <p>You can't put a paragraph inside a "strong" tag.
</strong>

Erinnern Sie sich einfach an Vorfahren/Nachkommen, Eltern/Kinder und Geschwister.


Kevin Maurizi, Marcel Suter