Was sind alle gültigen selbstschließenden Elemente in XHTML (wie von den großen Browsern implementiert)?

Lesezeit: 7 Minuten

Was sind alle gultigen selbstschliesenden Elemente in XHTML wie von
kams

Was sind alle gültigen selbstschließenden Elemente (z. B.
) in XHTML (wie von den wichtigsten Browsern implementiert)?

Ich weiß, dass XHTML es technisch zulässt, dass jedes Element selbst geschlossen wird, aber ich suche nach einer Liste dieser Elemente, die von allen gängigen Browsern unterstützt werden. Sehen http://dusan.fora.si/blog/self-closing-tags für Beispiele einiger Probleme, die durch selbstschließende Elemente wie

verursacht werden.

  • Ist das nicht einer der Zwecke von XHTML? Ich dachte, einer der Vorteile von XHTML sei, dass man einen XML-Generator verwenden könnte, um HTML zu generieren. Warum sollte ein XML-Generator wissen, welche Tags selbstschließend sein dürfen? Zu verrückt.

    – Elia

    11. November 2008 um 23:24 Uhr

  • Der Grund, warum die “lahme”, “falsche” Antwort akzeptiert wurde, liegt darin, dass sie die Frage beantwortete, die kamens offensichtlich stellte. Er wollte wissen, welche Elemente selbstgeschlossen werden können, wenn XHTML als Text/HTML bereitgestellt wird, ohne Darstellungsprobleme in Browsern zu verursachen. Viele Seiten sind in XHTML geschrieben und werden als Text/HTML bereitgestellt, obwohl es technisch nicht korrekt ist. Die Frage könnte mit dieser Klarstellung verbessert werden, aber die Beantwortung einer anderen Frage (was passiert, wenn Sie als application/xml dienen, oder ob einzelne Tags in text/html ein schließendes / haben sollten) ist in diesem Fall nicht hilfreich.

    – Nick Lockwood

    11. August 2011 um 6:40 Uhr


1646254928 91 Was sind alle gultigen selbstschliesenden Elemente in XHTML wie von
Kornel

Jeder Browser, der XHTML unterstützt (Firefox, Opera, Safari, IE9) unterstützt die selbstschließende Syntax on jedes Element.

<div/>, <script/>, <br></br> alles sollte gut funktionieren. Wenn sie es nicht tun, dann hast du es HTML mit unangemessen hinzugefügtem XHTML DOCTYPE.

DOCTYPE ändert nicht, wie das Dokument interpretiert wird. Nur der MIME-Typ tut es.

W3C-Entscheidung über das Ignorieren von DOCTYPE:

Die HTML-WG hat dieses Problem diskutiert: Die Absicht war es, alten (nur HTML) Browsern zu ermöglichen, XHTML 1.0-Dokumente zu akzeptieren, indem sie den Richtlinien folgen und sie als Text/HTML ausgeben. Daher sollten Dokumente, die als Text/HTML bereitgestellt werden, als HTML und nicht als XHTML behandelt werden.

Dies ist eine sehr häufige Falle, da der W3C-Validator diese Regel weitgehend ignoriert, die Browser sich jedoch religiös daran halten. Lesen
Verstehen von HTML, XML und XHTML aus dem WebKit-Blog:

Tatsächlich wird die überwiegende Mehrheit der angeblichen XHTML-Dokumente im Internet als text/html. Das heißt, sie sind überhaupt kein XHTML, sondern tatsächlich ungültiges HTML, das mit der Fehlerbehandlung von HTML-Parsern auskommt. All diese „Valid XHTML 1.0!“ Links im Web sagen wirklich „Invalid HTML 4.01!“.


Um zu testen, ob Sie echtes XHTML oder ungültiges HTML mit DOCTYPE von XHTML haben, fügen Sie Folgendes in Ihr Dokument ein:

<span style="color:green"><span style="color:red"/> 
 If it's red, it's HTML. Green is XHTML.
</span>

Es validiert und in echtem XHTML funktioniert es perfekt (siehe: 1 vs 2). Wenn Sie Ihren Augen nicht trauen (oder nicht wissen, wie man MIME-Typen einstellt), öffnen Sie Ihre Seite über XHTML-Proxy.

Eine andere Möglichkeit, dies zu überprüfen, ist das Anzeigen des Quellcodes in Firefox. Schrägstriche werden rot hervorgehoben, wenn sie ungültig sind.

In HTML5/XHTML5 hat sich das nicht geändert, und die Unterscheidung ist noch deutlicher, weil Sie nicht einmal zusätzliche haben DOCTYPE. Content-Type ist der König.


Fürs Protokoll: Die XHTML-Spezifikation erlaubt es jedem Element, sich selbst zu schließen, indem XHTML zu einer gemacht wird XML-Anwendung: [emphasis mine]

Tags mit leeren Elementen können verwendet werden jedes Element, das keinen Inhalt hatunabhängig davon, ob es mit dem Schlüsselwort EMPTY deklariert ist oder nicht.

Es ist auch explizit in der gezeigt XHTML-Spezifikation:

Leere Elemente müssen entweder ein End-Tag haben oder das Start-Tag muss mit enden />. Zum Beispiel, <br/> oder <hr></hr>

  • Afaik nicht korrekt, da die Verwendung von selbstschließenden Versionen von <script> oder <div> führt zu unterschiedlicher Wiedergabe/Interpretation.

    – ZeissS

    13. Juni 2010 um 12:18 Uhr

  • @ZeissS nur in text/html. In echtem XHTML, gesendet als application/xhtml+xml es funktioniert gut. Bitte lesen Sie den Artikel, auf den ich verlinkt habe (oder die XHTML-Spezifikation Anhang C), bevor Sie abstimmen.

    – Körnel

    13. Juni 2010 um 18:37 Uhr

  • @pornel kannst du garantieren, dass selbstschließende

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy