====== Dokumenttyp-Definitonen ======
Zwar nicht unbedingt im Zusammenhang mit CSS stehend, aber generell für die Entwicklung von (X)HTML-Seiten wichtig sind Dokumenttypen (DTDs).
===== Was sind Dokumenttypen? =====
Dokumenttypen beschreiben Regeln für ein XML- oder SGML-Dokument, also sowohl, wie diese aufgebaut sein sollen (vom Entwickler), als auch wie sie vom "übersetzenden" Programm verstanden werden soll (im Falle von HTML/XHTML ist dies der Browser). Grundsätzlich sollte man immer eine DTD angeben, tut man das nicht, verwendet der Browser eine Standarddefinition.
===== Beispiele für DTDs =====
DTD von XHTML 1.0 Transitional:
DTD von XHTML 1.0 Frameset:
DTD von HTML 4.01 Transitional:
===== Wichtigkeit der Dokumenttyp-Angabe =====
Oft ist nicht ganz klar, wofür die Dokumenttyp-Angaben überhaupt notwendig sind, und es werden dann falsche oder garkeine angegeben. Diese sind jedoch sehr wichtig: Jeder Browser hat verschiedene Modis, mit denen er XHTML, HTML und CSS-Code interpretiert - und die DTDs entscheiden, welchen Modus der Browser verwendet!
* Gibt man einen anderen DTD an, als den, auf dem die eigene Webseite basiert (Beispiel: DTD-Angabe ist HTML4, man arbeitet aber mit XHTML) interpretiert der Browser den XHTML-Code als HTML4-Code, wenn es nun bei einem Element unterschiede zwischen XHTML und HTML4 gibt, zeigt der Browser das Element eventuell nicht wie gewünscht an.
* Gibt man garkeinen oder einen sehr alten (z.B. HTML2, HTML3) DTD an, fallen die Browser in den sogenannten Quirks-Mode zurück: Die Webseite wird dann mit veralteten Versionen der W3C-Empfehlungen bzw. nicht korrekt umgesetzten W3C-Empfehlungen angezeigt. Der Grund für das vorhandensein eines solchen Quirks-Modus liegt darin, dass auch alte Webseiten noch korrekt angezeigt werden können.
* Der Internet Explorer stellte bis Version 6 das Boxmodell falsch dar (er berechnete die Außenabstände im Zusammenhang mit der Gesamtbreite/höhe eines Elements falsch), während das bei aktuellen Browserversionen und korrektem DTD kein Problem mehr darstellt, wird genau diese falsche Berechnungsweise im Quirks-Modus des Internet Explorers und auch anderer Browser verwendet.
{{:inf:inf7b_201011:css:ie5_boxfehler.gif|}}
{{:inf:inf7b_201011:css:moz_boxtest.gif|}}
(Quelle der Screenshots: http://www.dma.ufg.ac.at/app/link/Grundlagen%3AInternet.Web.Multimedia/module/15459?step=all )
**Darum:** Immer den korrekten (X)HTML-DTD angeben!
===== Weitere Informationen =====
Weitere Informationen über DTDs und deren Aufbau, wenn man selbst DTDs erstellen will, gibt es bei [[http://de.wikipedia.org/wiki/Dokumenttypdefinition|Wikipedia]].