Was ist die Funktionalität! DOCTYPE?
Frage
Wir sehen oft <!DOCTYPE ...>
wie folgt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Was die Funktionalität von !DOCTYPE
ist?
Lösung
Die wichtigste Verwendung von DOCTYPE ist href="http://en.wikipedia.org/wiki/Quirks_mode#Triggering_different_rendering_modes" rel="noreferrer" title="Quirks Modus Seite an Wikipedia"> schalten einen Browser .
Diese Funktionalität kam zustande, weil die „broken“ in alten Versionen von IE-Rendering. Es wurde erkannt, dass, wenn Microsoft „fixiert“ die IE-Rendering-Engine viele bestehende Websites machen würde nicht richtig einfach. So wie es funktioniert, wenn Sie setzen jeder gültige DOCTYPE-Deklaration überhaupt auf Ihrer Seite die Annahme ist, dass Sie wissen, was Sie tun und Ihrem Browser in einem standardkonformen Weg machen wird, und wenn Sie legt man darin nicht, wird in dem alten „falschen“ Weg machen.
Dies wurde ursprünglich im IE für den Mac gemacht, aber dieses Verhalten ist das gleiche in allen Versionen von IE seit IE5 und Firefox, Chrome, Safari und Opera.
Was die DOCTYPE ist sollte sein, ist ein Document Type Definition . HTML ist Teilmenge von SGML (wie XML). Die DTD sagt einen Parser, die Syntax, die Sie verwenden. So in einer Webseite Ihre DOCTYPE sollte die Version von HTML passen Sie verwenden.
Andere Tipps
Es sagt dem Prüfer auch die Version von HTML tun Sie verwenden. Ein Browser diese Informationen benutzen, um die Seite korrekt zu machen.
Hier sind richtige Version von DOCTYPE:
-
HTML 4.01 Strict, Transitional, Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-
XHTML 1.0 Strict, Transitional, Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
-
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-
HTML5
<!DOCTYPE html>
Es teilt Ihrem Browser, der HTML-Version es geladen wird, um die Ladezeit macht ein bisschen schneller als der Browser wissen, was zu erwarten ist.
Der Doctype ist ein Standard des W3C definiert - wenn Sie Standards hören über Web-Entwicklung basiert das ist, was sie reden. Die Idee, den Doctype verwenden ist, dass Sie gültigen HTML erstellen, die den Doctype folgt.
Wenn Sie klug sind, können Sie tatsächlich Ihre eigenen Doctype schreiben.
Der Haupt (praktisch) Zweck der DOCTYPEs ist IE zu zwingen, von „Quirks-Modus“ auf „standardkonformen Modus“, beide Euphemismen für „schrecklich gebrochen Modus“ und „leicht gebrochen Modus“ (jeweils).