Ich habe gerade jemandes HTML gelesen, der niemals Meta- und Link-Tags im HTML-Kopfbereich geschlossen hat. Der Code hat gut funktioniert; Ist das Schließen dieser Tags optional?
Ich dachte, es wäre fehlerhaft, wenn ein Tag nicht geschlossen würde.
Ein Tag muss immer durch das Tag-Schließsymbol geschlossen werden >
(wenn wir bestimmte SGML-Regeln ignorieren, die nominell in Nicht-XHTML-HTML gelten, aber nie in Browsern implementiert wurden).
Sie möchten fragen, ob die Elemente durch End-Tags geschlossen werden müssen. Die Antwort ist, dass Nicht-XHTML-HTML (einschließlich HTML5 in der HTML-Serialisierung), kein End-Tag erforderlich oder zulässig ist meta
und link
Elemente. In der Praxis ignorieren jedoch Browser nur explizites End - Tags für sie, sowie den Fracht-Kult /
vor >
, wenn Sie sie verwenden. Und HTML5 macht diese Zulässigkeit zu einer Regel, indem es auch die /
HTML-Serialisierung formal zulässt .
In XHTML gelten XML-Regeln, sodass jedes Element ausnahmslos sowohl ein Start- als auch ein End-Tag haben muss. Das gleiche Tag kann jedoch für beide Rollen verwendet werden, wenn der Elementinhalt leer ist, z . B. <meta name="foo" content="bar"/>
als Abkürzung für <meta name="foo" content="bar"></meta>
. Wenn Sie dies verletzen, wenn Sie ein Dokument mit einem XML-Inhaltstyp (XHTML) an einen konformen Browser senden, wird Ihr Dokument überhaupt nicht angezeigt. Stattdessen wird eine Fehlermeldung angezeigt.
Wenn Sie einen XHTML-Server mit dem HTML-Inhaltstyp ( Content-Type: text/html
) verwenden, da sich XHTML-Dokumente fast immer im Web befinden, wenden die Browser tatsächlich die Nicht-XHTML-HTML-Regeln an.
Zusammenfassen:
<meta ...>
mit nein verwenden/
<meta ... />
auffordert zu schreiben , tun Sie dies. Es ist nicht nützlich, verursacht aber keinen Schaden (außer wenn Sie versuchen, z. B. anhand des HTML 4.01-Doctype zu validieren).
/
vor>
"). Ich dachte nur, ich würde klarstellen, um das Internet nicht mit mehr Verwirrung zu verwirren.</pedant_alert>
:)Das hängt vom Doctype ab. HTML5 muss nicht geschlossen werden. XHTML tut es.
In HTML5 müssen sogenannte void-Elemente (Elemente, die keinen Inhalt haben können) nicht geschlossen werden, da sie sich selbst schließen. Aber es ist immer noch gültig, wenn Sie sie schließen ..
Lesen Sie hier mehr darüber: void-elements
quelle