In der Praxis sollte die Verwendung von selbstschließenden Tags in HTML genau so funktionieren, wie Sie es erwarten. Wenn Sie jedoch Bedenken haben, gültiges HTML5 zu schreiben , sollten Sie verstehen, wie sich die Verwendung solcher Tags in den beiden verschiedenen Syntaxformen verhält, die Sie verwenden können. HTML5 definiert sowohl eine HTML-Syntax als auch eine XHTML-Syntax, die ähnlich, aber nicht identisch sind. Welcher verwendet wird, hängt vom vom Webserver gesendeten Medientyp ab.
Höchstwahrscheinlich werden Ihre Seiten als bereitgestellt text/html
, was der milderen HTML-Syntax folgt. In diesen Fällen erlaubt HTML5 bestimmten Start-Tags ein optionales /, bevor es beendet wird>. In diesen Fällen ist der / optional und ignoriert, so <hr>
und <hr />
identisch sind. Die HTML-Spezifikation nennt diese "ungültigen Elemente" und gibt eine Liste der gültigen Elemente an. Genau genommen ist das optionale / nur innerhalb der Start-Tags dieser void-Elemente gültig. zum Beispiel <br />
und <hr />
sind gültiges HTML5, aber <p />
nicht.
Die HTML5-Spezifikation unterscheidet klar zwischen dem, was für HTML-Autoren und Webbrowser-Entwickler korrekt ist, wobei die zweite Gruppe alle Arten ungültiger "Legacy" -Syntax akzeptieren muss. In diesem Fall bedeutet dies, dass HTML5-kompatible Browser illegale selbst geschlossene Tags wie akzeptieren <p />
und sie so rendern, wie Sie es wahrscheinlich erwarten. Für einen Autor wäre diese Seite jedoch kein gültiges HTML5. (Noch wichtiger ist, dass der DOM-Baum, den Sie durch die Verwendung dieser Art von illegaler Syntax erhalten, ernsthaft durcheinander gebracht werden kann. Selbst geschlossene <span />
Tags neigen beispielsweise dazu, die Dinge stark durcheinander zu bringen .)
(In dem ungewöhnlichen Fall, dass Ihr Server weiß, wie XHTML-Dateien als XML-MIME-Typ gesendet werden, muss die Seite der XHTML-DTD- und XML-Syntax entsprechen. Dies bedeutet, dass für die als solche definierten Elemente selbstschließende Tags erforderlich sind .)