DOCTYPE-Erklärung
Während wir von den ganzen Vorteilen von CSS träumen, vergessen wir nur zu leicht, dass dafür auch vernüftiges HTML vorhanden sein muss. Wesentliches Merkmal einer guten HTML-Datei ist die DOCTYPE-Declaration
.
Falls du dir bisher noch keine Gedanken darüber gemacht hast und nicht so recht weißt, was genau nun
- eine
DOCTYPE-Declaration
überhaupt ist, - wo diese hingehört und
- welche empfehlenswert sind,
musst du keine Panik haben. Mir ging es genauso. Aber der Reihe nach:
Die
DOCTYPE-Declaration
, kann mit DTD (für Document Type Definiton) abgekürzt werden und ist für den Browser die Quellenangabe für den Code den er bekommt. DerDOCTYPE
sagt dem Browser, was das eigentlich für Daten sind, die er darstellen soll.Der
DOCTYPE
steuert in modernen Browsern das Verhalten des Programms und damit auch die Darstellung unserer Webseiten.Die
DOCTYPE
-Deklaration steht am Anfang der HTML-Datei. Ganz am Anfang, meine ich damit. Auch<html>
steht erst danach.Ich empfehle, einen der folgenden drei
DOCTYPE
s zu verwenden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">- XHTML 1.0 Strict
Ein wenig Extremismus gehört schon dazu, diesenDOCTYPE
zu wählen, aber es zeigt immerhin, dass man die Sache ernst nimmt. Wichtigster Punkt diesesDOCTYPE
s ist, dass (ältere) Elemente wie<blink>
und<marquee>
, aber auch<u>
nicht mehr enthalten sind. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">- XHTML 1.0 Transitional
Das dürfte derDOCTYPE
sein, der am häfigsten verwendet wird. Der wesentliche Vorteil ist, dass es sich zwar um XHTML handelt, aber so gut wie alle alten Elemente noch beinhaltet. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">- XHTML 1.0 Frameset
Im Prinzip das gleiche wie Transitional, sollte bei Verwendung von Frames eingesetzt werden.
Der DOCTYPE
sollte in einer Zeile stehen, ein Zeilenumbruch nach //EN" wie bei den obigen Beispielen ist aber auch durchaus üblich und wird von den Browsern problemlos verstanden.
Anmerkungen
Einige Anmerkungen, wenn auch nur am Rande, möchte ich aber noch dazu machen:
Es gibt auch eine XHTML 1.1
DOCTYPE
, der an "Strenge" sogar XTHML 1.0 Strict übertrifft. Die Unterschiede sind allerdings nicht so groß, dass es unmöglich ist, ihn anzuwenden. Ich stelle meine Seiten nach und nach auf diesen DOCTYPE um.Die URL im
DOCTYPE
ist aus technischer Sicht optional. In der Praxis verhalten sich allerdings die Browser etwas anders, jenachdem, ob die URL angegeben ist oder nicht. Mit Angabe dieser Adresse verhält sich der Browser, so komisch das klingen mag, standardkonform, ohne diese Adresse schaltet er zurück auf Hersteller-eigene Darstellungsmethoden.Das W3C empfiehlt, dass bei allen XHTML-Varianten eine XML-Deklaration vorhergeht. Obwohl es natürlich möglich ist, immer
<?xml version="1.0" encoding="UTF-8"?>
davorzusetzen, ist der Nutzen aus meiner Sicht nicht spürbar. Andererseits bringt dieser Zusatz den IE dazu, aus dem Standard-konformen Modus herauszufallen. Um also diese Sorge nicht zu haben, lasse ich diesen Zusatz weg.
Fazit
Da wir mit CSS arbeiten möchten und uns auf die Standards verlassen, sollten wir vollständiges, standardardkonformes HTML schreiben. Dazu gehört auch der richtige DOCTYPE
.
Weiteres zum Thema
- A List Apart hat auch einen Artikel über das Thema
DOCTYPE
veröffentlicht, allerdings in Englisch.