<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
Quale di loro è corretto?
<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
Quale di loro è corretto?
Risposte:
<img src='stackoverflow.png' />
Funziona bene e chiude correttamente l'etichetta. È meglio aggiungere l' altattributo per le persone con problemi di vista.
<img />sia valido in [X] HTML / XML, anche se l'uso di XHTML è molto raro oggigiorno e se il tuo server serve le pagine, l'unica cosa di cui text/htmlti devi preoccupare è scrivere HTML valido. Le probabilità di dover migrare un'app HTML a XHTML sono quasi nulle.
<img src='stackoverflow.png'>(se ti interessa).
Questo è HTML5 valido e va assolutamente bene senza chiuderlo. È un cosiddetto elemento vuoto:
<img src='stackoverflow.png'>
I seguenti sono tag XHTML validi. Devono essere chiusi. Anche il secondo va bene in HTML 5:
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
<img src='stackoverflow.png'>(se ti interessa).
<img src="about:logo" alt="about:logo">tag nella about:logopagina di Firefox 76 ! Anche se document.body.innerHTMLmostra <img src=\"about:logo\" alt=\"about:logo\">... Ottima risposta ...
In realtà, solo il primo è valido in HTML5
<img src='stackoverflow.png'>
Solo gli ultimi due sono validi in XHTML
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
(Sebbene non sia strettamente richiesto, altdovrebbe essere incluso anche un attributo _usually_).
Detto questo, la tua pagina HTML5 verrà probabilmente visualizzata come previsto perché i browser riscriveranno o interpreteranno il tuo html in base a ciò che pensa tu intenda. Ciò potrebbe significare che trasforma un tag, ad esempio, da
<div />in <div></div>. O forse ignora semplicemente il taglio finale <img ... />.
vedere 2016: Serve HTML5 as XHTML 5.0 for legacy validation.
vedi: discussione 2011 e link aggiuntivi qui, anche se nel tempo alcuni bit potrebbero essere cambiati
In parte questo è dovuto al fatto che i browser si sforzano di correggere gli errori. Inoltre, perché c'è molta confusione sui tag a chiusura automatica e sui tag void. Infine, le specifiche sono cambiate, o non sono sempre state chiare, ei browser cercano di essere retrocompatibili.
Quindi, anche se probabilmente puoi farla franca con una qualsiasi delle tre opzioni,
solo la prima aderisce allo standard HTML5 ed è garantito che passi un validatore HTML5.
Una buona strategia potrebbe essere:
Ecco un elenco di tag che non dovrebbero essere chiusi in HTML5 :
<br> <hr> <input>
<img> <link> <source>
<col> <area> <base>
<meta> <embed> <param>
<track> <wbr> <keygen> (HTML 5.2 Draft removed)
<img src='stackoverflow.png' />valido in qualsiasi versione di XHTML e HTML 5.
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 è un elemento void per sezione 12.1.2
Actually, only the first one is valid in HTML5tecnicamente errata. Il secondo è valido anche in HTML5. Non richiesto, ma valido. Nessuno sta sostenendo che sia necessario. Solo quello secondo le specifiche, l'uso della forma a chiusura automatica del tag è valido in tutte le forme attuali di XHTML e HTML.
Il miglior utilizzo dei tag da utilizzare:
<img src="" alt=""/>
Inoltre puoi usare in HTML5:
<img src="" alt="">
Questi due sono completamente validi in HTML5. Scegli uno di loro e mantienilo.
Entrambi la risposta giusta. HTML5 segue regole rigide e in HTML5 possiamo chiudere tutti i tag. Quindi, dipende da te utilizzare HTML5 o HTML e seguire una risposta appropriata.
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
La seconda proprietà è più appropriata.
-Il tag è vuoto e contiene solo attributi. -Il tag non ha il tag "Chiusura".
Così,
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
entrambi sono corretti anche in HTML5.
È utile avere il tag di chiusura se proverai a leggerlo con un parser XHTML. Potrebbe essere un caso limite, ma lo faccio sempre. Non fa male averlo, e significa che so che possiamo usare un array di lettori XML che non si bloccheranno quando colpiscono un tag non chiuso.
Se non proverai mai ad analizzare il contenuto, ignora la chiusura.