DOCTYPE-Element ausführliche Erklärung vollständige Version

DOCTYPE-Element ausführliche Erklärung vollständige Version

1. Übersicht

In diesem Artikel wird das DOCTYPE-Element systematisch erklärt. Gleichzeitig habe ich viele Informationen überprüft. Da die Informationen im Internet chaotisch sind, habe ich sie nach dem Sammeln und Sortieren neu definiert. Beispielsweise ist die Definition des DOCTYPE-Elements hauptsächlich in Grundkenntnisse und erweiterte Kenntnisse unterteilt. Grundkenntnisse erklären grundlegende DOCTYPE-Kenntnisse. Viele erweiterte Kenntnisse stammen aus dem Internet, hauptsächlich einige praktische Anwendungsfähigkeiten.

II. Definition

DOCTYPE ist die Abkürzung für Document Type. Das Element <!DOCTYPE> wird verwendet, um die Dokumenttypdefinition (DTD) einer Seite zu deklarieren. Diese Elementdeklaration befindet sich ganz am Anfang des Dokuments, vor dem Tag <html>. Durch die Bestätigung der DTD einer Seite können Sie auch feststellen, welche W3C-Spezifikation die Seite verwendet (z. B. HTML- oder XHTML-Spezifikation).

3. W3C-Spezifikationen

Die korrekte Übersetzung der W3C-Spezifikation sollte W3C-Empfehlungen sein. In den Augen vieler Designer ist W3C der Standard. Aber viele Leute wissen nur wenig darüber. Im Folgenden finden Sie die HTML-Spezifikation und die XHTML-Spezifikation in der aktuellen W3C-Spezifikation. Die Beziehung zwischen HTML und XHTML wird später erklärt:

W3C HTML-Spezifikationen und Zeitplan

Spezifikation

empfehlen

HTML 3.2

14. Januar 1997

HTML 4.0

24. Mai 1998

HTML 4.01

24. Dezember 1999

W3C XHTML-Spezifikation und Zeitplan

Spezifikation

Entwurf/Vorschlag

empfehlen

XHTML 1.0

 

26. Januar 2000

XHTML 1.0 Revision

 

1. August 2002

XHTML 1.1

 

31. Mai 2001

XHTML-Module

 

10. April 2001

XHTML-Module 1.1

5. Juli 2006

 

XHTML-Grundlagen

 

19. Dezember 2000

XHTML Basic 1.1

5. Juli 2006

 

XHTML-Ereignisse

 

14. Oktober 2003

XHTML-Ereignisse 2

16. Februar 2007

 

XHTML Drucken

 

20. September 2006

XHTML-Medientypen

1. August 2002

 

XForms 1.0

 

14. Oktober 2003

XForms 1.0 (SE)

 

14. März 2006

XForms 1.1

22. Februar 2007

 

XHTML 2.0

26. Juli 2006

 

XLink

 

27. Juni 2001

Link zur HLink-Website

13. September 2002

 

XHTML kann als die neuste HTML-Spezifikation angesehen werden und ist eine XML-Anwendung, die problemlos von HTML 4.01 migriert werden kann. Der erste Schritt des W3C zur Umgestaltung von HTML 4.01 in XML führte zu XHTML 1.0. XHTML 1.0 basiert auf der Semantik der HTML 4.01-Tags.

4. Spezifikationen und DTD

Die Seitendatei deklariert verschiedene DTDs über das Element <DOCTYPE>, um dem Browser mitzuteilen, welcher HTML- oder XHTML-Spezifikation die aktuelle Seite entspricht. Im Folgenden sind nur die DTDs aufgeführt, die sich auf HTML4.01 und XHTML1.0 beziehen:

HTML

HTML 4.01 spezifiziert drei Dokumenttypen: Strict, Transitional und Frameset.


Strenge HTML-DTD

Verwenden Sie diesen Typ, wenn Sie sauberes Markup ohne den Ballast der Präsentationsebene benötigen. Bitte mit Cascading Style Sheets (CSS) verwenden:

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


HTML-Übergangs-DTD

Übergangs-DTDs können Präsentationsattribute und Elemente enthalten, von denen das W3C erwartet, dass sie in Stylesheets verschoben werden. Verwenden Sie diesen Typ, wenn Ihre Leser Browser verwenden, die Cascading Style Sheets (CSS) nicht unterstützen, und Sie gezwungen sind, die Rendering-Funktionen von HTML zu verwenden:

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


Frameset-DTD

Für Dokumente mit Frames sollte die Frameset-DTD verwendet werden. Die Frameset-DTD ist mit der Transitional-DTD identisch, außer dass das Frameset-Element das Body-Element ersetzt:

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

XHTML

XHTML 1.0 spezifiziert drei XML-Dokumenttypen: Strict, Transitional und Frameset.


XHTML Strenge DTD

Verwenden Sie diesen Typ, wenn Sie sauberes Markup ohne den Ballast der Präsentationsebene benötigen. Bitte mit Cascading Style Sheets (CSS) verwenden:

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


XHTML-Übergangs-DTD

Übergangs-DTDs können Präsentationsattribute und Elemente enthalten, von denen das W3C erwartet, dass sie in Stylesheets verschoben werden. Verwenden Sie diesen Stil, wenn Ihre Leser Browser verwenden, die Cascading Style Sheets (CSS) nicht unterstützen und Sie gezwungen sind, die Rendering-Funktionen von XHTML zu verwenden:

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


XHTML-Frameset-DTD

Verwenden Sie diese DTD, wenn Sie Frames verwenden möchten!

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

5. Syntax des DOCTYPE-Elements

Grammatik

Verfügbarkeit von HTML-Elementen der obersten Ebene „Registrierung // Organisation // Typ-Tag // Definitionssprache“ „URL“

Syntaxelementbeschreibung

Element der obersten Ebene: Gibt den in der DTD deklarierten Elementtyp der obersten Ebene an. Dies entspricht dem deklarierten SGML-Dokumenttyp. Die Standardeinstellung ist HTML.

Verfügbarkeit: Gibt an, ob der Formal Public Identifier (FPI) ein öffentlich zugängliches Objekt oder eine Systemressource ist. Der Wert kann standardmäßig PUBLIC oder SYSTEM.PUBLIC sein. Stellt ein öffentlich zugängliches Objekt dar. SYSTEM steht für Systemressourcen wie lokale Dateien oder URLs.

Registriert: Gibt an, ob die Organisation bei der Internationalen Organisation für Normung (ISO) registriert ist.

+ ist die Standardeinstellung und zeigt an, dass der Organisationsname registriert wurde.

– zeigt an, dass der Organisationsname nicht registriert ist. Die Internet Engineering Task Force (IETF) und das World Wide Web Consortium (W3C) sind keine registrierten ISO-Organisationen.

Organisation: Gibt den Namen der Gruppe oder Organisation an, die für die Erstellung und Pflege der durch die !DOCTYPE-Deklaration referenzierten DTD verantwortlich ist, d. h. die OwnerID. IETF ist IETF. W3C ist W3C.

Typ: Gibt die öffentliche Textklasse an, d. h. den Typ des referenzierten Objekts. Der Standard ist DTD.

Bezeichnung: Gibt die öffentliche Textbeschreibung an. Dabei handelt es sich um einen eindeutigen, beschreibenden Namen für den referenzierten öffentlichen Text. Darauf kann eine Versionsnummer folgen. Die Standardeinstellung ist HTML.

Definition: Gibt die Dokumenttypdefinition an.

Frameset Frameset-Dokument.

Strict schließt alle typischen Attribute und Elemente aus, die die W3C-Experten auslaufen lassen möchten, da Stylesheets bereits gut etabliert sind.

Transitional enthält den gesamten Inhalt außer dem FrameSet-Element.

Sprache: Gibt die öffentliche Textsprache an, d. h. das natürliche Sprachcodierungssystem, das zum Erstellen des referenzierten Objekts verwendet wurde. Die Sprachdefinitionen werden als ISO 639-Sprachcodes (zwei Großbuchstaben) geschrieben. EN Standard. Englisch.

URL: Gibt den Speicherort des referenzierten Objekts an.

6. Inspektionswerkzeuge

Wenn Sie überprüfen möchten, ob Ihr Seiteninhalt den im DOCTYPE deklarierten Standards entspricht, können Sie das vom W3C bereitgestellte Validierungstool verwenden:

http://validator.w3.org/

7. DOCTYPE-Schalter

Moderne Browser verfügen über unterschiedliche Darstellungsmodi mit dem Ziel, sowohl Webseiten zu unterstützen, die den W3C-Standards entsprechen, als auch Webseiten, die für ältere Browser entwickelt wurden. Unter ihnen wird der Standardmodus (auch als strikter Rendering-Modus bekannt) zum Rendern von Webseiten verwendet, die den neuesten Standards entsprechen, während der Quirks-Modus (auch als lockerer Rendering-Modus oder Kompatibilitätsmodus bekannt) zum Rendern von Webseiten verwendet wird, die für herkömmliche Browser entwickelt wurden. Beachten Sie auch, dass Mozilla/Netscape 6 über einen neuen „Fast Standards“-Modus verfügt, der Seiten unterstützt, die für eine ältere Version der Standards entwickelt wurden.

Theoretisch sollte dies ein ziemlich intuitiver Schalter sein. Wenn das <!DOCTYPE>-Element der Seite den Standard angibt, dem die Seite entspricht (z. B. XHTML1.0), wechselt der Browser in den Standardsmodus. Wenn kein Doctype angegeben ist oder HTML 3.2 oder älter angegeben ist, wechselt der Browser in den Quirks-Modus. Dadurch können Browser standardisierte Dokumente korrekt anzeigen, ohne alte, nicht standardisierte Webseiten vollständig zu verwerfen. Es gibt jedoch folgende Situationen:

1. Fehlende URL oder relative URL

Eine vollständige Doctype-Deklaration enthält die URL der entsprechenden DTD-Datei (Document Type Definition). Wenn die URL fehlt oder als relativer Pfad (und nicht als vollqualifizierte Internetadresse) angegeben ist, wechseln die meisten Browser in den Quirks-Modus, unabhängig von dem in der Doctype-Deklaration angegebenen Modus.

2. Falscher Dokumenttyp

Browser reagieren sehr empfindlich auf die Form und das Format von Doctype-Deklarationen. Wenn sie einen falsch formatierten Doctype nicht erkennen können, werden sie in den Quirks-Modus gezwungen (es wird empfohlen, einen bekanntermaßen korrekten Doctype zu kopieren und in das Dokument einzufügen, anstatt ihn selbst einzugeben). Eine häufige Ursache für einen fehlerhaften Dokumenttyp ist ein fehlendes Leerzeichen zwischen dem ersten Teil des Dokumenttyps und der URL. Durch das Zusammenfassen eines zweizeiligen Dokumenttyps auf eine einzige Zeile geht dieser Platz häufig verloren.

3. Übergangs-Dokumenttyp

Inkonsistenzen treten am wahrscheinlichsten auf, wenn Browser Übergangsdokumenttypen verarbeiten. IE und Opera verwenden den Standardsmodus; Netscape 6 und ältere Versionen von Safari verwenden den Quirks-Modus; Netscape 7, Mozilla 1 und neuere Versionen von Safari verwenden den Almost Standards-Modus von Netscape, eine fehlertolerantere Version des Standardsmodus.

4. Unbekannter Dokumenttyp

Browser gehen außerdem inkonsistent mit Dokumenttypen um, die sie nicht erkennen. IE und Opera wechseln in den Standardsmodus. Das heißt, sie gehen davon aus, dass es sich bei dem nicht erkannten Doctype um einen neuen Standard handelt, der noch nicht in den Browser integriert wurde. Netscape 6 hingegen wechselt in den Quirks-Modus, wenn es auf einen nicht erkannten Dokumenttyp stößt.

Durch das Wechseln der Dokumenttypen können Sie Ihren Browser effektiv in den richtigen Darstellungsmodus versetzen und Ihre Webseiten korrekt anzeigen, vorausgesetzt, Sie sind sich der Inkonsistenzen zwischen den Browsern bewusst und vermeiden Probleme proaktiv.

8. Tipps zur Verwendung von XHTML

1. Unmittelbar nach der obigen DOCTYPE-Deklaration folgt eine XHTML-Namespace-Deklaration, die im erweiterten <html>-Element platziert ist und wie folgt geschrieben ist:

<html xmlns="http://www.w3.org/1999/xhtml">

2. Da es sich bei XHTML 1.0-Seiten um gültige XML-Dokumente handelt und XML bei Tags und Attributen zwischen Groß- und Kleinschreibung unterscheidet, müssen der Einfachheit halber alle Tags und Attribute auf XHTML 1.0-Seiten in Kleinbuchstaben geschrieben werden.

Einige kostenlose Tools wie HTML Tidy (http://tidy.sourceforge.net/) können Ihnen dabei helfen, Tags und Attribute automatisch in Kleinbuchstaben umzuwandeln.

3. Deklarieren Sie die auf der Seite verwendete Sprache, indem Sie dem <head>-Element ein <meta>-Element hinzufügen.

<meta http-equiv="Inhaltstyp" content="text/html; charset=gbk" />

4. In XHTML müssen alle Attribute in Anführungszeichen eingeschlossen sein.

Einige kostenlose Tools wie HTML Tidy (http://tidy.sourceforge.net/) können Ihnen dabei helfen, allen Attributen automatisch Anführungszeichen hinzuzufügen.

5. In XHTML müssen alle Attribute Werte haben.

Sie können es nicht wie in HTML 4.0 schreiben:

<input type="checkbox" name="shirt" value="medium" aktiviert>

Schreiben Sie stattdessen:

<input type="checkbox" name="shirt" value="mittel" checked="aktiviert" />

6. In XHTML müssen alle Tags geschlossen sein.

Es gibt zwei Möglichkeiten, ein Tag zu schließen. Ein Tag mit Inhalt wird mit einem End-Tag geschlossen, und ein leeres Tag wird mit einem Leerzeichen und "/" am Ende geschlossen. Zum Beispiel:

<p>Dies ist akzeptables HTML und auch gültiges XHTML.</p>

<img src="logo.gif" />

7. Verwenden Sie in Kommentaren kein „--“.

„--“ kann nur am Anfang und Ende eines XHTML-Kommentars verwendet werden und darf nicht im Textkörper eines Kommentars erscheinen. Nicht erlaubt sind:

<!--Ungültig – ebenso wie das klassische „Trennzeichen“ weiter unten. -->

<!------------------------------------>

8. Alle Sonderzeichen sind in HTML kodiert.

Die XHTML/CSS/DOM-Spezifikationen des W3C bilden ein vollständiges und strenges System. Ich nenne diese drei Spezifikationen die „Inkarnation der Dreifaltigkeit“ in der Webwelt. Diese drei Spezifikationen stellen die Struktur, Präsentation und das Verhalten einer Webseite dar. Durch die strikte Aufteilung der Webseiten in diese drei Ebenen und die größtmögliche Unabhängigkeit der Inhalte der einzelnen Ebenen können Sie die Wiederverwendbarkeit und Modularität der Seiten verbessern und die Kosten für die Seitenerstellung, -wartung und -änderung deutlich senken. Um die oben genannten hierarchischen Ziele zu erreichen, sollte das von Ihnen geschriebene XHTML nur Tags (Elemente und Attribute) enthalten, die sich auf die Struktur beziehen. Sie sollten sich daher an die Verwendung von DTDs vom Typ „Strict“ gewöhnen und die Tags mit Präsentationsbedeutung so schnell wie möglich aufgeben (diese Tags sind in der HTML 4.0-Spezifikation als veraltet gekennzeichnet und werden in späteren Versionen von XHTML vollständig aufgegeben). Geben Sie die alte Methode des tabellenbasierten Layouts so schnell wie möglich auf und übernehmen Sie ein vollständiges CSS-Layout.

9. Empfohlene Bücher zu XHTML

Der definitive Leitfaden zu HTML und XHTML von Chuck Musciano und Bill Kennedy.

XHTML-Tutorial von Chelsea Valentine und Chris Minnick.

„Refactoring der Website“ von Jeffrey Zeldman.
Autor: Zhang Ziqiu Quelle: http://www.cnblogs.com/zhangziqiu/

<<:  Lösung zum Hinzufügen einer iptables-Firewall-Richtlinie zum MySQL-Dienst

>>:  Besprechen Sie den Entwicklungstrend der Baidu Encyclopedia UI

Artikel empfehlen

Vue + Spring Boot realisiert die Bestätigungscodefunktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung zu React Hooks

Inhaltsverzeichnis Was sind Hooks? Klassenkompone...

So verwenden Sie Docker zum Bereitstellen von Front-End-Anwendungen

Docker erfreut sich immer größerer Beliebtheit. E...

Implementierung der Docker-Bereitstellung von Tomcat- und Webanwendungen

1. Docker online herunterladen yum install -y epe...

Eine kurze Diskussion zur MySQL-Indexoptimierungsanalyse

Warum sind die von Ihnen geschriebenen SQL-Abfrag...

Detailliertes Beispiel für die JSON-Analyse mit MySQL (5.6 und darunter)

MySQL (5.6 und darunter) analysiert JSON #json-An...

So löschen Sie die Validierungsaufforderung bei der Elementformularvalidierung

Inhaltsverzeichnis Problemszenario: Lösung: 1. Üb...

Ausführliches Installationstutorial für MySQL Installer Community 5.7.16

Dieser Artikel zeichnet das ausführliche Tutorial...

jQuery implementiert eine einfache Änderung der Schaltflächenfarbe

Wir möchten in HTML und CSS die Farbe eines Butto...

So paginieren Sie schnell MySQL-Datenmengen im zweistelligen Millionenbereich

Vorwort Um bei der Backend-Entwicklung zu verhind...

17 JavaScript-Einzeiler

Inhaltsverzeichnis 1. DOM & BOM bezogen 1. Üb...

Tutorial zur Installation von phpMyAdmin unter Linux centos7

yum install httpd php mariadb-server –y Notieren ...