| ## Textauszeichnung
| Elemente und Tags in HTML Verschachtelung von Elementen Attribute in Tags HTML-Parser

## Elemente und Tags in HTML

HTML-Dateien bestehen aus Text. Zur Textauszeichnung gibt es bestimmte Zeichen aus dem normalen Zeichenvorrat.

Der Inhalt von HTML-Dateien steht in HTML-Elementen. HTML-Elemente werden durch so genannte Tags markiert. Fast alle HTML-Elemente werden durch ein einleitendes und ein abschließendes Tag markiert. Der Inhalt dazwischen ist der "Gültigkeitsbereich" des entsprechenden Elements. Tags werden in spitzen Klammern notiert.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <h1>HTML - die Sprache des Web</h1>

### Erläuterung:

Das Beispiel zeigt eine Überschrift 1. Ordnung. Das einleitende Tag `<h1>` signalisiert, dass eine Überschrift 1. Ordnung folgt (h = heading = Überschrift). Das abschließende Tag `</h1>` signalisiert das Ende der Überschrift. Ein abschließendes Tag beginnt mit einem Schrägstrich `"/"`.

### Beachten Sie:

Bei herkömmlichem HTML spielt es keine Rolle, ob die Elementnamen in den Tags in Klein- oder Großbuchstaben notiert werden. Dort bedeuten z.B. `<h1>` und `<H1>` das gleiche. In der neueren HTML-Variante, in XHTML, müssen die Elementnamen dagegen klein geschrieben werden. Das W3-Konsortium empfiehlt zwar für HTML aus Gründen der Lesbarkeit, Namen von Elementen groß zu schreiben. Im Hinblick auf eine spätere Deklarierung eines Dokuments als XHTML-Dokument ist diese Idee jedoch nicht unbedingt so gut und es ist besser, von vorneherein alle Elementnamen in Kleinbuchstaben zu schreiben.

Es gibt auch einige Elemente mit "Standalone-Tags", d.h. Elemente, die keinen Inhalt haben und deshalb nur aus einem Tag bestehen statt aus Anfangs- und End-Tag.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    Eine Zeile, ein manueller Zeilenumbruch<br>
    und die nächste Zeile

### Erläuterung:

Am Ende der ersten Zeile signalisiert `<br>`, dass ein manueller Zeilenumbruch eingefügt werden soll (br = break = Umbruch).

### Beachten Sie:

Wenn Sie XHTML-gerecht schreiben wollen, müssen Sie Elemente mit Standalone-Tags anders notieren: anstelle von `<br>` müssen Sie dann `<br />` notieren - also den Elementnamen mit einem abschließenden Schrägstrich. Alternativ dazu können Sie auch `<br></br>` notieren, also ein Element mit Anfangs- und End-Tag, aber ohne Inhalt. Mehr darüber erfahren Sie im Unterkapitel XHTML und HTML.

## Verschachtelung von Elementen

Elemente können ineinander verschachtelt werden. Auf diese Weise entsteht eine hierarchische Struktur. Komplexere HTML-Dateien enthalten sehr viele Verschachtelungen. Deshalb sprechen Fachleute auch von strukturiertem Markup.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <h1><i>HTML</i> - die Sprache des Web</h1>

### Erläuterung:

Das `i`-Element steht für italic (= kursiver Text). Der Text zwischen `<i>` und `</i>` wird als kursiv interpretiert, abhängig von der eingestellten Schriftart und Schriftgröße für die Überschrift 1. Ordnung.

## Attribute in Tags

Einleitende Tags und Standalone-Tags können zusätzliche Angaben enthalten.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <h1 align="center">HTML - die Sprache des Web</h1>

### Erläuterung:

Durch `align="center"` wird bewirkt, dass der Text zentriert ausgerichtet wird (align = Ausrichtung, center = zentriert).

Es gibt folgende Arten von Attributen in HTML-Elementen:

- Attribute mit Wertzuweisung, wobei es bestimmte erlaubte Werte gibt, z.B. bei `<h1 align="center">` (Überschrift 1. Ordnung zentriert ausgerichtet - hier sind nur die Werte `left`, `center`, `right` und `justify` erlaubt).
- Attribute mit freier Wertzuweisung, wobei jedoch ein bestimmter Datentyp oder eine bestimmte Konvention erwartet wird, z.B. `<style type="text/css">` (Bereich für Stylesheets definieren - hier wird ein so genannter Mime-Type als Wert erwartet, und Mime-Typen haben immer den Aufbau Typ/Untertyp). Oder `<table border="1">` (Tabelle mit Rahmen von 1 Pixel Stärke - hier wird eine numerische Angabe erwartet)
- Attribute mit freier Wertzuweisung ohne weitere Konventionen, z.B. `<p title="Aussage mit Vorbehalt">` - hier kann ein ganzer Text zugewiesen werden.
- Alleinstehende Attribute, z.B. `<hr noshade>` (Trennlinie ohne Schatten). Alleinstehende Attribute gibt es allerdings nur in herkömmlichem HTML. Wenn Sie XHTML-gerecht schreiben wollen, müssen Sie `<hr noshade="noshade">` notieren. Mehr darüber erfahren Sie im Unterkapitel XHTML und HTML.

Alle Werte, die Sie Attributen zuweisen, müssen in Anführungszeichen stehen. Die meisten Browser nehmen es zwar nicht übel, wenn die Anführungszeichen fehlen, und das W3-Konsortium traf in der Vergangenheit auch schon recht unterschiedliche Aussagen darüber. Doch seit dem HTML-Standard 4.0 sind die Anführungszeichen klipp und klar vorgeschrieben, und wer ordentliches HTML schreiben will, sollte sich daran halten.

Wie bei Elementnamen, so gilt auch bei Attributnamen: bei herkömmlichem HTML spielt es keine Rolle, ob die Attributnamen in Klein- oder Großbuchstaben notiert werden. In der neueren HTML-Variante, in XHTML, müssen die Attributnamen dagegen klein geschrieben werden. Bei den Wertzuweisungen an Attribute kann Groß- und Kleinschreibung abhängig von der Art des Wertes unterschieden werden oder auch nicht.

Neben Attributen, die nur in bestimmten HTML-Elementen vorkommen können, gibt es auch so genannte Universalattribute, die in vielen bzw. fast allen HTML-Elementen erlaubt sind.

### Beispiel:

    <p id="Einleitung">Text</p>

### Erläuterung:

Das Beispiel definiert einen Textabsatz mit den HTML-Tags `<p>` und `</p>`. Im einleitdenden `<p>`-Tag wird ein Universalattribut notiert, nämlich das Attribut `id=`. Damit können Sie dokumentweit eindeutige Namen für einzelne HTML-Elemente vergeben. Einzelheiten über solche Attribute erfahren Sie im Abschnitt über Universalattribute.

## HTML-Parser

Unter einem HTML-Parser versteht man eine Software, die HTML-Auszeichnungen erkennt in strukturierten Text umsetzt. Jeder Web-Browser verfügt über einen HTML-Parser, um überhaupt mit HTML klarzukommen. Solche HTML-Parser werden nun leider auf den meisten Webseiten mit Syntax-Fehlern in der Textauszeichnung konfrontiert. Oft sind es kleinere, nicht allzutragische Fehler, doch es gibt auch viele Web-Seiten, deren HTML-Quelltext nur das Prädikat "ungenügend" verdient, weil darin übelste Verunstaltungen der HTML-Regeln vorkommen. Strenge Parser, die genau gegen die HTML-Regeln prüfen, müssten die Umsetzung solcher Web-Seiten eigentlich abbrechen, und anstelle der Seite würden die Browser dann nur eine lapidare Fehlermeldung anzeigen. Da ein solcher Browser am breiten Markt jedoch keine Chance hätte, weil er kaum eine bekannte Web-Seite anzeigen würde, sind die HTML-Parser der heute verbreiteten Browser ziemlich gutmütige Wesen, die so ziemlich alles fressen, was ihnen vorgesetzt wird, und irgendetwas daraus machen, meistens sogar durchaus das, was der Autor der Web-Seite erreichen wollte. Am weitesten in dieser Kunst hat es der HTML-Parser des MS Internet Explorers gebracht. Das hat dem Internet Explorer einerseits den Ruf beschert, "am besten" HTML zu können, aber Fachleute rümpfen aus dem gleichen Grund gerne die Nase über diesen Browser mit dem Argument, dass er durch sein Verhalten das schlampige und fehlerhafte Kodieren von HTML nur fördere.

Angesichts der wachsenden Komplexität der verschiedenen Sprachen, also HTML in Verbindung mit eingebettetem CSS, JavaScript, PHP usw., wird es immer wichtiger, die Syntax-Regeln von HTML einzuhalten. Diese Regeln finden Sie in der HTML-Referenz genauer beschrieben.

| Grundgerüst einer HTML-Datei
| Hypertext und menschliches Verstehen

© 2001 selfhtml@teamone.de