Zum Inhalt springen

HTML <!DOCTYPE>-Deklaration

Die <!DOCTYPE>-Deklaration ist die erste Codezeile in einem HTML- oder XHTML-Dokument. Sie gibt die im Dokument verwendete HTML-Version an. Jedes HTML-Dokument sollte mit dieser Deklaration beginnen, damit Browser die Seite im Standards-Modus und nicht im Quirks-Modus rendern, um die Einhaltung von Webstandards sicherzustellen. In HTML 4.01 verweist diese Deklaration auf eine Document Type Definition (DTD), die die Struktur und die zulässigen Elemente eines XML-Dokuments festlegt.

Die <!DOCTYPE>-Deklaration wird vor dem <html>-Tag angegeben. Die Deklaration ist nicht case-sensitiv (Groß-/Kleinschreibung spielt keine Rolle).

Syntax

Veraltete DTD-Syntax

html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">

Parameter der <!DOCTYPE>-Deklaration

Root-Element — das übergeordnete Element, das alle anderen Elemente enthält. Für HTML ist dies das <html>-Tag.

Publicity — gibt an, ob die DTD PUBLIC oder SYSTEM ist. Für HTML/XHTML ist der Wert PUBLIC.

Registration — gab historisch den ISO-Registrierungsstatus (+ oder -) an. Für W3C-DTDs wird dies typischerweise weggelassen.

Organization — der Name des DTD-Entwicklers. Für HTML/XHTML ist dies W3C.

Type — der Typ des Dokuments. Für HTML/XHTML ist der Wert DTD.

Name — eindeutiger Bezeichner, der die DTD beschreibt.

Language — die Sprache des Dokuments (zwei Großbuchstaben). Für HTML/XHTML ist dies typischerweise EN.

URL — die URL der Dokumenttypbeschreibung (z. B. https://www.w3.org/TR/html4/strict.dtd).

Arten der <!DOCTYPE>-Deklaration für HTML

Moderne HTML-Dokumente verwenden eine einzige, vereinfachte Deklaration. Das veraltete HTML 4.01 kannte drei Typen:

HTML5

html
<!DOCTYPE html>

Strict – enthält alle HTML-Elemente und -Attribute. Präsentations- oder veraltete Elemente sind jedoch nicht enthalten.

html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">

Transitional – enthält alle HTML-Elemente und -Attribute, einschließlich Präsentations- und veralteter Elemente. Frames sind nicht erlaubt.

html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">

Frameset – entspricht Transitional, erlaubt jedoch die Verwendung von Frames.

html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "https://www.w3.org/TR/html4/frameset.dtd">

Beispiel für die HTML <!DOCTYPE>-Deklaration:

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h2>Elements example</h2>
    <p>This is some paragraph.</p>
    <p>This is another paragraph <br /> with  line break.</p>
  </body>
</html>

Ergebnis

paragraph

Arten der <!DOCTYPE>-Deklaration für XHTML

Hier finden Sie die Arten der <!DOCTYPE>-Deklaration für XHTML.

XHTML 1.0 Strict

Diese DTD umfasst alle HTML-Elemente und -Attribute, außer Präsentations- oder veraltete Elemente. Diese DTD erlaubt keine Framesets.

html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional

Diese DTD umfasst alle HTML-Elemente und -Attribute sowie Präsentations- und veraltete Elemente. Framesets sind nicht erlaubt.

html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset

Diese DTD ist ähnlich wie XHTML 1.0 Transitional, erlaubt jedoch Framesets.

html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1

Diese DTD entspricht XHTML 1.0 Strict, erlaubt jedoch das Hinzufügen von Modulen (z. B. zur Ruby-Unterstützung für ostasiatische Sprachen).

html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Praxis

Welche der folgenden Aussagen zur HTML DOCTYPE-Deklaration sind korrekt?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.