HTML - Grundlagen - DOCTYPE-Definition
1. Endlich
... zeige ich euch, wie man festlegt, für welche der möglichen Varianten man sich entscheidet. Und das geht über die besagte DOCTYPE-Definition (DTD). Wie ich hier schon erwähnte, gibt es insgesamt sieben Möglichkeiten.
Verständnis
Durch die besagte Definition wird festgelegt, welche Elemente die Sprache beinhaltet und nach welchen Regeln sie aufgebaut ist. Ein (X)HTML-Dokument ist zum Beispiel erst dann valide (gültig), wenn der Quellcode den Bestimmungen entspricht, die die DTD vorgibt.
2. HTML 4.01 Transitional
Diese Version ist letztendlich ein Kompromiss, den das W3C eingehen musste, um die Abwärtskompatibilität zu alten Seiten zu gewährleisten. Die Doctype-Defintion dazu sieht so aus.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Die Angabe der URL zur offiziellen DTD
("http://www.w3.org/TR/html4/loose.dtd"
) kann in diesem Fall weggelassen werden.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Diese Variante stellt die unsauberste Lösung dar. So werden viele Dinge gnädig toleriert, die sonst eigentlich verboten sind. Details dazu kommen unter dem Punkt Feinheiten.
3. HTML 4.01 Strict
Diese Definition geht wesentlich rabiater mit eurem Quellcode um. So sind zum Beispiel die Verschachtelungsregeln deutlich
restriktiver. Es ist in diesem Fall zwingend vorgeschrieben, das zwischen dem <body>
-Tags auf der ersten Hierarchieebene
Inline-Elemente in Block-Elemente gepackt werden müssen (dazu später mehr). Diese Variante stellt neben XHTML
die Ideallösung dar. Die Syntax sieht folgendermaßen aus (die URL zur DTD muss hier, wie bei allen folgenden Varianten allerdings
definitiv angegeben werden).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
4. HTML 4.01 Frameset
Interessiert uns nicht, da wir nicht mehr mit Frames arbeiten. Die Gründe dafür werde ich an dieser Stelle erläutern.
5. XHTML 1.0 Transitional
Diese Variante sollte Web-Designer schonend auf den kommenden Standard XHTML 2.0 vorbereiten. Mittlerweile hat sich dieses Thema aber erledigt, da die Entwicklung dazu eingestellt worden ist.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6. XHTML 1.0 Strict
Die rabiate Variante, die Web-Designer auf den kommenden Standard XHTML 2.0 vorbereiten sollte.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7. XHTML 1.0 Frameset
Interessiert uns nicht, da wir nicht mehr mit Frames arbeiten. Zu den Gründen siehe Link bei HTML 4.01 Frameset.
8. XHTML 1.1
Eine noch rabiatere Variante, die Web-Designer auf den kommenden Standard XHTML 2.0 vorbereiten sollte. Allerdings werde ich auf diese Möglichkeit nicht mehr weiter eingehen, sondern komplett ignorieren. Warum? Nun, weil ich mich mit dem Thema nie befasst habe. Früher sollen einige Browser damit Probleme gehabt haben und heute ist es eh uninteressant.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9. Und was nun?
Wer von euch jetzt das leidige Thema HTML 5 im Kopf hat, der sollte das erst mal ignorieren. Da werden die zwei Welten von HTML 4
und XHTML 1 zu einer zusammengeführt. Aber welche DOCTYPE-Definition sollte man nun nehmen. Nun, um das zu entscheiden, muss man
sich mit den unterschiedlichen Darstellungsmodi der Browser vertraut machen (Modi ist der Plural von Modus) und den Möglichkeiten
die die jeweiligen Transitional
- und Strict
-Varianten bieten.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt