<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
Welches von ihnen ist richtig?
<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
Welches von ihnen ist richtig?
Antworten:
<img src='stackoverflow.png' />
Funktioniert einwandfrei und schließt das Tag ordnungsgemäß. Fügen Sie am besten das altAttribut für Personen mit Sehbehinderung hinzu.
<img />in [X] HTML / XML gültig ist, obwohl die Verwendung von XHTML heutzutage sehr selten ist und wenn Ihr Server die Seiten text/htmlbereitstellt, müssen Sie sich nur um das Schreiben von gültigem HTML kümmern. Die Wahrscheinlichkeit, eine HTML-App auf XHTML migrieren zu müssen, liegt nahe bei Null.
<img src='stackoverflow.png'>(wenn es für Sie wichtig ist).
Dieser ist gültiges HTML5 und es ist absolut in Ordnung, ohne es zu schließen. Es ist ein sogenanntes Leerelement:
<img src='stackoverflow.png'>
Das Folgende sind gültige XHTML-Tags. Sie müssen geschlossen werden. Letzteres ist auch in HTML 5 in Ordnung:
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
<img src='stackoverflow.png'>(wenn es Ihnen wichtig ist).
<img src="about:logo" alt="about:logo">Tag auf der about:logoSeite von Firefox 76 sah ! Obwohl document.body.innerHTMLzeigt <img src=\"about:logo\" alt=\"about:logo\">... Sehr gute Antwort ...
Tatsächlich ist nur der erste in HTML5 gültig
<img src='stackoverflow.png'>
Nur die letzten beiden sind in XHTML gültig
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
(Obwohl nicht stricly erforderlich, ein altsollten Attribut _usually_ auch enthalten sein).
Das heißt, Ihre HTML5-Seite wird wahrscheinlich wie beabsichtigt angezeigt, da Browser Ihr HTML so umschreiben oder interpretieren, wie es Ihrer Meinung nach gemeint ist. Das kann bedeuten, dass ein Tag beispielsweise von
<div />in verwandelt wird <div></div>. Oder vielleicht ignoriert es einfach den letzten Schrägstrich <img ... />.
Siehe 2016: HTML5 als XHTML 5.0 für die Legacy-Validierung bereitstellen.
siehe: 2011 Diskussion und zusätzliche Links hier, obwohl sich im Laufe der Zeit einige Bits geändert haben können
Dies liegt zum Teil daran, dass Browser sich sehr bemühen, Fehler zu korrigieren. Auch, weil es viel Verwirrung über selbstschließende Tags und leere Tags gibt. Schließlich hat sich die Spezifikation geändert oder war nicht immer klar, und Browser versuchen, abwärtskompatibel zu sein.
Während Sie wahrscheinlich mit einer der drei Optionen davonkommen können, entspricht
nur die erste dem HTML5-Standard und besteht garantiert einen HTML5-Validator.
Eine vernünftige Strategie könnte sein:
Hier ist eine Liste von Tags, die in HTML5 nicht geschlossen werden sollten :
<br> <hr> <input>
<img> <link> <source>
<col> <area> <base>
<meta> <embed> <param>
<track> <wbr> <keygen> (HTML 5.2 Draft removed)
<img src='stackoverflow.png' />in jeder Version von XHTML und HTML 5 gültig wäre .
Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/). This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.img ist ein nichtiges Element gemäß Abschnitt 12.1.2
Actually, only the first one is valid in HTML5technisch falsch. Der zweite ist auch in HTML5 gültig. Nicht erforderlich, aber gültig. Niemand argumentiert, dass es erforderlich ist. Nur das gemäß den Spezifikationen verwendete, selbstschließende Formular des Tags ist in allen aktuellen Formen von XHTML und HTML gültig.
Die beste Verwendung von Tags, die Sie verwenden sollten:
<img src="" alt=""/>
Sie können auch in HTML5 verwenden:
<img src="" alt="">
Diese beiden sind in HTML5 vollständig gültig. Wählen Sie eine davon aus und bleiben Sie dabei.
Beides die richtige Antwort. HTML5 folgt strengen Regeln und in HTML5 können wir alle Tags schließen. Es hängt also von Ihnen ab, HTML5 oder HTML zu verwenden und eine entsprechende Antwort zu befolgen.
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
Die zweite Eigenschaft ist angemessener.
-Das Tag ist leer und enthält nur Attribute. -Das Tag hat kein "Closing" -Tag.
So,
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
beide sind auch in HTML5 korrekt.
Es ist hilfreich, das schließende Tag zu haben, wenn Sie jemals versuchen werden, es mit einem XHTML-Parser zu lesen. Könnte ein Randfall sein, aber ich mache es die ganze Zeit. Es schadet nicht, es zu haben, und ich weiß, dass wir eine Reihe von XML-Readern verwenden können, die nicht umkippen, wenn sie auf ein nicht geschlossenes Tag treffen.
Wenn Sie niemals versuchen werden, den Inhalt zu analysieren, ignorieren Sie das Schließen.