====== 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]].