XHTML-Tutorial: Der Unterschied zwischen Transitional und Strict

XHTML-Tutorial: Der Unterschied zwischen Transitional und Strict

Tatsächlich ist XHTML 1.0 in zwei Typen unterteilt (drei, wenn Frameset DOCTYPE enthalten ist, was in diesem Artikel nicht behandelt wird): Übergangs- und strikte DOCTYPEs. Und HTML 4.01 hat auch die gleiche Dokumentdeklaration.
Wenn es heute um die Förderung von Webstandards geht, sagen die Befürworter von Webstandards oft, dass XHTML strenger als HTML sei. In gewissem Sinne ist das natürlich auch so, denn es erfordert beispielsweise, dass alle Tags geschlossen und alle Attribute in Anführungszeichen gesetzt werden. Tatsächlich ist XHTML 1.0 jedoch in zwei Typen unterteilt (drei, wenn Frameset DOCTYPE enthalten ist, was in diesem Artikel nicht behandelt wird): Übergangs- und strikte DOCTYPEs. Und HTML 4.01 hat auch die gleiche Dokumentdeklaration.

Die Bedeutung lässt sich aus dem wörtlichen Namen erkennen: Transitional DOCTYPEs gelten nur für den Übergang von der alten zur neuen Ära, und Strict DOCTYPEs ist die Standarddokumentdeklaration, die für die Konstruktion von HTML 4.01 und XHTML 1.0 gilt.
Übergangs-DOCTYPE wird im Allgemeinen verwendet, da der Code zu viele alte Schreibmethoden enthält und eine vollständige Konvertierung auf einmal zu Strict DOCTYPE schwierig ist. Ihr Ziel sollte jedoch ein strikter DOCTYPE sein. Es ermutigt und zwingt Sie manchmal sogar dazu, Struktur von Präsentation zu trennen und Präsentationscode in CSS zu schreiben. HTML 4-Dokumenttypdefinition:

Diese strikte HTML 4.01-DTD enthält keine Attribute und Tags der Präsentationsschicht. Das W3C wird diese Attribute und Tags nach und nach abschaffen. Sie können Stylesheets verwenden, um sie zu implementieren. Sie sollten die strikte DTD verwenden. Um Unterstützung für Präsentationsattribute und Tags zu erhalten, verwenden Sie die Übergangs-DTD.

Die Verwendung von Strict DOCTYPE bietet den zusätzlichen Vorteil, dass Browser angewiesen werden, die Seite in ihrem strengsten und (bis zu einem gewissen Grad) standardkonformsten Modus darzustellen.
Tommy Olsson erläutert die Vorteile einer guten Verwendung von Strict in Zehn Fragen an Tommy Olsson von der Web Standards Group:

Ich denke, dass die Verwendung einer strikten DTD (egal, ob es sich um HTML 4.01 Strict oder XHTML 1.0 Strict handelt) weitaus wichtiger ist, als zu diskutieren, ob HTML oder XHTML verwendet werden soll. Es repräsentiert die Qualität des zukünftigen Internets. Es trennt Struktur und Präsentation und erleichtert so die Pflege einer Site.

Für diejenigen, die sich mit Webstandards und der richtigen, semantischen Struktur nicht auskennen, ist es wichtig, den Unterschied zwischen Übergangs-DOCTYPES und strikten DOCTYPES zu erkennen. Eine ausführlichere Liste finden Sie unter: XHTML: Unterschiede zwischen striktem und vorübergehendem Format, Vergleich strikter und vorübergehender XHTML- und XHTML1.0-Elementattribute nach DTD.
Für diejenigen, die bereit sind, zu Strict zu wechseln, gibt es zwischen den beiden einige Unterschiede, die wahrscheinlich dazu führen, dass Entwickler Fehler machen, auf die ich als Nächstes eingehen werde. In strengen DOCTYPES nicht unterstützte Tags: center font iframe srike u In strengen DOCTYPES nicht unterstützte Attribute: align (unterstützt von table-related: col, colgroup, tbody, td, tfoot, th, thead und tr) language background bgcolor border (unterstützt von table) height (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 target text, link, vlink und alink vspace width (unterstützt von img, object, table, col und colgroup). Unterschiede bei den Inhaltsmodellen: Das Inhaltsmodell eines Elementtyps beschreibt, welche Art von Instanzen dieses Elementtyps enthalten sein können. In dieser Hinsicht besteht der größte Unterschied zwischen den beiden Dokumentdeklarationen darin, dass Blockquote-, Body- und Formularelemente nur Elemente auf Blockebene enthalten können, wie z. B.: Text und Bilder dürfen nicht direkt im Body enthalten sein, sie müssen durch Elemente auf Blockebene, wie z. B. p oder div, enthalten sein. Eingabeelemente können nicht direkt die nächste Ebene von Formularelementen sein. Text innerhalb von Blockquote-Elementen muss durch Elemente auf Blockebene, wie z. B. p oder div, enthalten sein. Überlassen Sie die gesamte Darstellung CSS und halten Sie sich an strenge Standards. Beim Übergang zu strengen DOCTYPEs ist es viel effektiver zu verstehen, was jedes Element tut, als zu wissen, wie jedes Element aussieht.
Denken Sie zuerst über Struktur und Semantik nach und kümmern Sie sich dann um die Leistung.

<<:  Detaillierte Erklärung zum Einfügen gängiger Nginx-Befehle in Shell-Skripte

>>:  CSS-Navigationsleistenmenü mit kleinem Dreieck-Implementierungscode

Artikel empfehlen

So öffnen Sie den Port in Centos7

Die Standard-Firewall von CentOS7 ist nicht iptab...

Welche Szenarien sind für JS-Pfeilfunktionen nicht geeignet?

Inhaltsverzeichnis Überblick Definieren von Metho...

Erfahren Sie schnell, wie Sie mit der Vuex-Statusverwaltung in Vue3.0 beginnen

Vuex ist ein speziell für Vue.js-Anwendungen entw...

HTML-Subtag und Sup-Tag

Heute stelle ich zwei HTML-Tags vor, die ich nich...

Lösung für Linux, das nicht alle Befehle unterstützt

Was soll ich tun, wenn Linux nicht alle Befehle u...

Mybatis implementiert Details zum Abfangen und Ändern von SQL-Abfragen

Vorwort Eine der Funktionen eines Interceptors be...

Detailliertes Tutorial zur Konfiguration von Docker nginx + https-Subdomains

Heute habe ich zufällig einem Freund beim Umzug s...

Was ist SSH-Portweiterleitung? Was nützt das?

Inhaltsverzeichnis Vorwort 1. Lokale Portweiterle...

Tutorial zur Installation und Konfiguration von Hbase unter Linux

Inhaltsverzeichnis Hbase-Installation und -Konfig...

Vue Element-ui-Tabelle realisiert Baumstrukturtabelle

In diesem Artikel wird der spezifische Code der E...

HTML ist eigentlich die Anwendung zum Erlernen mehrerer wichtiger Tags

Nachdem der Artikel „Dies wird eine Revolution“ er...

Detaillierte Einführung und Verwendungsbeispiele für Map-Tag-Parameter

Karten-Tags müssen paarweise vorkommen, d. h. <...