Was ist die DOCTYPE-Deklaration in HTML?

Die HTML-Dokumenttypdeklaration, auch bekannt als DOCTYPE, ist die erste Codezeile, die in jedem HTML- oder XHTML-Dokument erforderlich ist. Die DOCTYPEDeklaration ist eine Anweisung an den Webbrowser, in welcher HTML-Version die Seite geschrieben ist. Dadurch wird sichergestellt, dass die Webseite von verschiedenen Webbrowsern auf dieselbe Weise analysiert wird.

In HTML 4.01 DOCTYPEbezieht sich die Deklaration auf eine Dokumenttypdefinition (DTD). Eine DTD definiert die Struktur und die rechtlichen Elemente eines XML-Dokuments. Da HTML 4.01 auf der Standard Generalized Markup Language (SGML) basierte, musste in der DOCTYPEDeklaration auf eine DTD verwiesen werden .

Zusätzlich doctypes für HTML 4.01 die Deklaration entweder erforderlich strict, transitionaloder framesetDTD, die jeweils mit einem anderen Anwendungsfall wie unten dargestellt.

  • Strikte DTD : Wird für Webseiten verwendet, die Attribute und Elemente ausschließen, von denen W3C erwartet, dass sie mit zunehmender CSS-Unterstützung auslaufen
  • Übergangs-DTD : Wird für Webseiten verwendet, die Attribute und Elemente enthalten, von denen W3C erwartet, dass sie mit zunehmender CSS-Unterstützung auslaufen
  • Frameset-DTD : Wird für Webseiten mit Frames verwendet

Im Gegensatz dazu ist die Deklaration von HTML5 DOCTYPEviel einfacher: Es ist kein Verweis auf DTDs mehr erforderlich, da sie nicht mehr auf SGML basiert. In den folgenden Beispielen finden Sie einen Vergleich zwischen HTML 4.01 und HTML5 DOCTYPE.

Beispiele

Doctype-Syntax für HTML5 und höher:

Doctype-Syntax für striktes HTML 4.01:

Doctype-Syntax für Übergangs-HTML 4.01:

Doctype-Syntax für Frameset HTML 4.01:

Geschichte

In den Gründungsjahren von HTML wurden noch keine Webstandards vereinbart. Browser-Anbieter würden neue Funktionen nach Belieben erstellen. Es gab wenig Bedenken für konkurrierende Browser.

Das Ergebnis war, dass Webentwickler einen Browser auswählen mussten, für den sie ihre Websites entwickeln wollten. Dies bedeutete, dass Websites in nicht unterstützten Browsern nicht gut gerendert wurden. Diese Situation konnte nicht fortgesetzt werden.

Das W3C (World Wide Web Consortium) hat eine Reihe von Webstandards verfasst, um diese Situation zu bewältigen. Alle Browser-Anbieter und Webentwickler sollten diese Standards einhalten. Dies würde sicherstellen, dass Websites in allen Browsern gut gerendert werden.

Die von den Standards geforderten Änderungen unterschieden sich erheblich von einigen bestehenden Praktiken. Das Festhalten an ihnen würde gegen bestehende, nicht standardkonforme Websites verstoßen.

Um dieses Problem zu lösen, begannen die Anbieter, Rendering-Modi in ihren Browsern zu programmieren. Webentwickler müssten eine Doctype-Deklaration am Anfang eines HTML-Dokuments hinzufügen. Die Doctype-Deklaration teilt dem Browser mit, welcher Rendermodus für dieses Dokument verwendet werden soll.

Im Allgemeinen waren drei separate Rendering-Modi für alle Browser verfügbar.

  • Im Vollstandardmodus werden Seiten gemäß den W3C-Webstandards gerendert.
  • Im Quirks-Modus werden Seiten nicht standardkonform gerendert.
  • Fast der Standardmodus entspricht nahezu dem vollständigen Standardmodus, bietet jedoch Unterstützung für eine kleine Anzahl von Macken.

In der modernen Zeit von HTML5 sind Webstandards in allen gängigen Browsern vollständig implementiert. Websites werden in der Regel standardkonform entwickelt. Aus diesem Grund gibt es die HTML5-Doctype-Deklaration nur, um den Browser anzuweisen, das Dokument im vollständigen Standardmodus zu rendern.

Verwendung

Die Doctype-Deklaration muss neben Kommentaren, die bei Bedarf vorangestellt werden können, die allererste Codezeile in einem HTML-Dokument sein. Für moderne HTML5-Dokumente sollte die Doctype-Deklaration wie folgt lauten:

Mehr Informationen:

Obwohl es nicht mehr allgemein verwendet wird, gibt es mehrere andere Doctype-Deklarationstypen aus früheren HTML-Versionen. Es gibt auch spezielle Versionen für XML-Dokumente. Weitere Informationen hierzu und Codebeispiele finden Sie im Wikipedia-Artikel.

Eine Notiz vom W3

MDN-Glossareintrag

W3Schools

Eine kurze Erklärung von "Quirks Mode" und "Standards Mode"