Tatsächlich ist XHTML 1.0 in zwei Typen unterteilt (drei Typen, wenn Sie den Frameset DOCTYPE hinzufügen, der in diesem Artikel nicht behandelt wird), Übergangs- und Strict-DOCTYPEs. Und auch HTML 4.01 hat die gleiche Dokumentationsanweisung.
Bei der heutigen Förderung von Webstandards sagen diejenigen, die Webstandards befürworten, oft, dass XHTML strenger ist als HTML. In gewissem Sinne ist es natürlich wahr, dass alle Tags geschlossen sein müssen und alle Attribute geschlossen sein müssen zitiert. Tatsächlich ist XHTML 1.0 jedoch in zwei Typen unterteilt (drei Typen, wenn Sie den Frameset DOCTYPE hinzufügen, der in diesem Artikel nicht behandelt wird): Übergangs- und Strict-DOCTYPEs. Und auch HTML 4.01 hat die gleiche Dokumentationsanweisung.
Sie können die Bedeutung wörtlich verstehen: Übergangs-DOCTYPEs dienen lediglich dazu, den Übergang von der alten zur neuen Ära zu erreichen, und strikte DOCTYPEs sind die Standarddokumentdeklaration, die für sehr wichtig ist Die Erstellung von HTML 4.01 und XHTML 1.0 ist anwendbar.
Die Verwendung von Transitional DOCTYPE liegt normalerweise daran, dass der Code zu viele alte Schreibmethoden enthält und es schwierig ist, ihn vollständig auf einmal vollständig in Strict DOCTYPE zu konvertieren. Aber Strict DOCTYPE sollte Ihr Ziel sein. Es ermutigt und zwingt Sie manchmal sogar dazu, die Struktur von der Präsentation zu trennen und den gesamten Code der Präsentationsebene in CSS zu schreiben. Definition des HTML 4-Dokumenttyps:
Diese strenge HTML 4.01-DTD enthält keine Präsentationsschichtattribute und -tags. W3C wird diese Attribute und Tags schrittweise auslaufen lassen. Sie können hierfür vollständig Stylesheets verwenden. Sie sollten eine strikte DTD verwenden, um Präsentationseigenschaften und Tags zu unterstützen.
Die Verwendung von Strict DOCTYPE hat außerdem den Vorteil, dass Browser ihren strengsten und (bis zu einem gewissen Grad) standardkonformsten Modus zum Rendern der Seite verwenden können.
Tommy Olsson erklärt die Vorteile der Verwendung von Strict sehr gut in den zehn Fragen der Web Standards Group an Tommy Olsson:
Ich denke, die Verwendung von Strict DTD, sei es HTML 4.01 Strict oder XHTML 1.0 Strict, ist weitaus wichtiger als die Diskussion darüber, ob HTML oder XHTML verwendet werden soll. Es repräsentiert die Qualität des zukünftigen Internets. Es trennt Struktur und Präsentation und macht die Pflege einer Website sehr einfach.
Für diejenigen, die mit Webstandards und korrekten semantischen Strukturen noch nicht vertraut sind, ist es wichtig, den Unterschied zwischen Transitional- und Strict-DOCTYPEs zu verstehen. Eine ausführlichere Liste finden Sie unter:
Für diejenigen, die sich auf den Wechsel zu Strict vorbereiten: Es gibt einige Unterschiede zwischen den beiden, die dazu führen können, dass Entwickler Fehler machen, auf die ich als Nächstes eingehen werde.
Tags werden unter strengen DOCTYPEs nicht unterstützt
Center
Schriftart
iframe
srike
u
Eigenschaften werden unter strengen DOCTYPEs nicht unterstützt
align (tabellenbezogene Unterstützung: col, colgroup, tbody, td, tfoot, th, thehead und tr)
Sprache
Hintergrund
bgcolor
Rand (Tischauflage)
Höhe (unterstützt von img und object)
hspace
name (unterstützt in HTML 4.01 Strict, nicht unterstützt von form und img in XHTML 1.0 Strict)
noshade
nowrap
Ziel
Text, Link, Vlink und Alink
vspace
Breite (img, object, table, col und colgroup werden unterstützt)
Der Unterschied zwischen Inhaltsmodellen
Das Inhaltsmodell eines Elementtyps beschreibt, welche Instanzen des Elementtyps enthalten sein können. An dieser Stelle besteht der größte Unterschied zwischen den beiden Dokumentdeklarationen darin, dass Blockquote-, Body- und Formularelemente nur Elemente auf Blockebene enthalten können, wie zum Beispiel:
Text und Bilder dürfen nicht direkt in den Textkörper eingefügt werden und müssen in Elementen auf Blockebene wie p oder div eingebunden werden.
Das Eingabeelement darf nicht direkt eine Ebene unter dem Formularelement liegen.
Der Text im Blockquote-Element muss in Elementen auf Blockebene wie p oder div enthalten sein.
Überlassen Sie die gesamte Leistung CSS und halten Sie sich an strenge Standards
Beim Übergang zu strengen DOCTYPEs ist es effektiver zu wissen, was jedes Element tut, als wie jedes Element aussieht.
Denken Sie zuerst über Struktur und Semantik nach und kümmern Sie sich später um die Leistung.