Dokumententypen und ihre Auswirkungen auf die Browserdarstellung

(Auszug aus "CSS Kochbuch" von Christopher Schmitt)

Problem

Ihre Webseite soll standardkonform und validierbar sein.

Lösung

Für HTML 4.01 gibt es drei verschiedene Dokumententypen: strict, transitional und frameset. XHTML 1.1 besitzt nur einen Dokumententyp, XHTML 1.0 kennt dagegen – wie HTML 4.01 – drei Dokumententypen. Ein HTML-Dokument kann immer nur eine bestimmte Dokumententyp-Definition (DTD) enthalten, die festlegt, nach welchen Regeln die Seitendarstellung vorgenommen werden soll. Demnach sind folgende DTDs möglich:

HTML 4.01 Strict DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
HTML 4.01 Frameset DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd">
XHTML 1.0 Strict DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1 DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Hier sehen Sie ein Beispiel für ein minimales Dokument gemäß der Dokumententyp- Definition XHTML 1.1 mit den vorgeschriebenen Elementen html, head und body.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
  <head>
    <title>XHTML DTD</title>
  </head>
  <body>
    <p>Jedes XHTML-Dokument muss immer einen Verweis auf die verwendete DTD enthalten. Ansonsten wird es von den Validator-Programmen nicht als gültig erkannt.</p>
  </body>
</html>

Diskussion

Die Dokumententyp-Definition DOCTYPE, oder kurz DTD, definiert, wie ein HTML- bzw. ein XHTML-Dokument aufgebaut ist, und teilt Browsern und Validator-Programmen mit, welche (X)HTML-Version in Ihrem Dokument verwendet wird.

Um sicherzustellen, dass Ihr Markup- und CSS-Code den Standards entspricht und Browser die Seiten entsprechend der angegebenen DTD behandeln, muss die DOCTYPE-Deklaration am Anfang jedes Webdokuments noch vor dem html-Element stehen.

Enthält ein XHTML-Dokument keine DTD, können die Seiten nicht validiert werden und die Browser schalten in den sogenannten Quirks-Modus. (Anmerkung: Als quirk bezeichnet man im Englischen eine ungewönliche Eigenart, einen Spleen, eine Macke o.Ä.) Moderne Browser verwenden diesen Modus, um auch Seiten darstellen zu können, die ungültigen Markup-Code enthalten. Obwohl eine Seite vollkommen korrekten HTML- und CSS-Code enthält, kann es beim Fehlen einer DTD also zu einer fehlerhaften Darstellung kommen.

Das World Wide Web Consortium (W3C) bietet webbasierte Validatorprogramme an, mit denen HTML- und CSS-Code auf seine Gültigkeit überprüft werden kann. Enthält ein HTML-Dokument keine DTD, gibt das Programm eine entsprechende Warnung aus (siehe folgende Abbildung).

Der W3C Validator für (X)HTML-Dokumente

Abbildung: Der W3C Validator für (X)HTML-Dokumente.

Seiten mit fehlenden, älteren oder falsch kodierten DOCTYPE-Deklarationen werden im Quirks-Modus dargestellt, in dem der Browser eine Seite als fehlerhaft betrachtet. Abhängig vom verwendeten Browser werden einige Inhalte trotzdem gemäß der W3C-Richtlinien dargestellt.

Die folgenden beiden Abbildungen zeigen die unterschiedliche Darstellung desselben Webdokuments: einmal ohne DTD (im Quirks-Modus von Internet Explorer 6) und einmal so, wie die Darstellung tatsächlich aussehen sollte. Das Dokument enthält innerhalb eines div-Elements mit einer Breite von 100% eine Tabelle.

Tabelle im Internet Explorer 6.0 im Quirks-Modus ohne DOCTYPE-Deklaration

Abbildung: Darstellung der Tabelle mit Internet Explorer 6.0 im Quirks-Modus ohne DOCTYPE-Deklaration.

Gleiche Tabelle mit Firefox 1.5 im Standardmodus mit der DOCTYPE-Definition HTML 4.01 Strict

Abbildung: Darstellung der gleichen Tabelle mit Firefox 1.5 im Standardmodus mit der DOCTYPE-Definition HTML 4.01 Strict.

Siehe auch

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema CSS bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright der deutschen Ausgabe © 2007 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "CSS Kochbuch" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln