| # 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 einer öffnenden spitzen Klammer und 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. Es ist deshalb zu empfehlen, die Elementnamen immer klein zu schreiben, egal ob Sie HTML oder XHTML schreiben wollen.

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-Typ als Wert erwartet, und MIME-Typen haben immer den Aufbau Typ/Untertyp). Oder `<table border="1">` (Tabelle mit Rahmen von einem 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.

Obwohl es vom HTML-Standard her zulässig wäre, dass bestimmte Attributwerte auch ohne Anführungszeichen geschrieben werden können, sollten Sie diese Möglichkeit nicht nutzen. Es verringert die Wahrscheinlichkeit von Fehlern, wenn Sie grundsätzlich alle Werte, die Sie Attributen zuweisen, in einfache `'` oder doppelte `"` Anführungszeichen setzen. Sie können diese zwei Arten innerhalb einer Datei beliebig mischen, lediglich für ein einzelnes Attribut müssen an Anfang und Ende dieselben Zeichen benutzt werden. Welches Zeichen Sie wählen, ist im Prinzip egal.

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 durchgehend 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 einleitenden `<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 und 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 Web-Seiten mit Syntaxfehlern in der Textauszeichnung konfrontiert. Oft sind es kleinere, nicht allzu tragische 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 auf Einhaltung der HTML-Regeln prüfen, müssten die Anzeige 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 Internet Explorers gebracht. Das hat dem Internet Explorer einerseits den Ruf beschert, "am besten" HTML zu beherrschen, 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.

Wenn Sie selbst prüfen wollen, ob Ihre selbst erstellte HTML-Seite alle Regeln einhält, können Sie das mit einem sogenannten Validator tun. Ein Validator liest die Seite komplett ein, stellt fest, welcher Dokumententyp für die Seite angegeben ist, und prüft dann streng auf die Einhaltung der damit verbundenen Regeln.

Das älteste Angebot stammt vom W3C: validator.w3.org. Dort haben Sie die Möglichkeit, entweder eine Datei von Ihrem Rechner zur Prüfung hochzuladen, oder eine im Internet erreichbare Adresse anzugeben.

Alternativ bietet SELFHTML unter der Adresse validator.de.selfhtml.org einen deutschsprachigen Service an, der dieselben Prüfmöglichkeiten bietet, und bei Fehlern direkt Links auf die SELFHTML-Dokumentation liefert, sodass Sie direkt nachsehen können, wie die Stelle korrekt lauten muss.

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

© 2007 Impressum