Streuende-Tag img

8

Bei der Validierung des Markups durch den W3C-Validierungsdienst wurde dieser Fehler unterschritten

  

Streuende-Tag img

Code ist wie folgt

%Vor%

Was heißt das? Wie können wir es vermeiden?

    
Midhun Murali 09.06.2014, 08:38
quelle

3 Antworten

11

Wenn Ihr Dokument XHTML-kompatibel ist, müssen Sie img tag mit <img src="image.jpg"/> schließen, nicht mit <img>...</img> .

Wenn Ihr Dokument HTML5-kompatibel ist, benötigen Sie nicht den /> -Teil, sondern nur <img src="image.jpg">

Und wenn Sie sich fragen, was bedeutet, dass das Dokument XHTML oder HTML5-konform sein soll - dies ist die allererste Zeile Ihrer HTML-Seite, die sogenannte document type definition :

<!DOCTYPE HTML> für HTML5 und

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

HINWEIS: Die <!DOCTYPE> -Deklaration ist obligatorisch (wenn Ihre Seiten mit einem HTML-Validator validiert werden sollen) und sollte immer die erste Sache in einem HTML-Dokument sein.

HINWEIS: Obwohl eine Dokumenttypdefinition für eine funktionierende Webseite technisch nicht erforderlich ist, sollten Sie sie immer in Ihren Code aufnehmen. Wenn Sie lernen, Webseiten zu erstellen, gewöhnen Sie sich an, die Dokumenttypdefinition immer in Ihren Code aufzunehmen.

Mehr lesen:

bodi0 09.06.2014, 08:41
quelle
2

Grundsätzlich bedeutet das, dass Sie </img> entfernen sollten, da es für das <img> -Tag nicht benötigt wird:

%Vor%

Alternativ gibt es für Referenzzwecke auch die xhml-Methode zum "Schließen" des Tags:

%Vor%     
ninetwozero 09.06.2014 08:39
quelle
1

Als solches bedeutet "Stray-End-Tag ..." nur, dass ein End-Tag in dem Kontext, in dem es erscheint, nicht erlaubt ist. Die Erklärung des Validators lautet: "Der Validator hat ein End-Tag für das obige Element gefunden, aber dieses Element ist derzeit nicht geöffnet. Dies wird oft durch ein übrig gebliebenes End-Tag eines Elements verursacht, das während der Bearbeitung entfernt wurde, oder durch ein implizit geschlossenes Element (wenn Sie einen Fehler haben, der sich auf ein Element bezieht, das nicht erlaubt ist, ist dies fast sicher der Fall). Im letzteren Fall verschwindet dieser Fehler, sobald Sie das ursprüngliche Problem behoben haben. "

Aus den Symptomen (der Fehlermeldungszeichenfolge) können wir schließen, dass Sie in der HTML-Serialisierung gegen HTML5 validieren. Dies bedeutet, dass für ein img -Element kein Ende-Tag erlaubt ist, da das Start-Tag so behandelt wird, dass es auch das Element schließt ("implizit geschlossenes Element").

Daher besteht die Lösung darin, entweder das </img> -Tag zu entfernen oder in der XHTML-Serialisierung gegen HTML5 zu validieren. Letzteres ist für Webseiten nicht praktikabel, aber wenn Sie HTML für etwas anderes verwenden, sollten Sie die URL anhand einer Ressource validieren, die mit einem XML-Inhaltstyp geliefert wird.

    
Jukka K. Korpela 09.06.2014 11:55
quelle