Perché il tag non è chiuso in HTML?

Per curiosità, perché il tag < img > non è chiuso in HTML ?

Smiley face 

Ho anche notato che i tag < img > sono esplicitamente chiusi in XHTML

 Smiley face 

W3Schools: tag immagine

Storicamente, l’HTML è stato basato su SGML che consente di omettere i tag in determinate condizioni.

Poiché l’elemento non può avere alcun nodo figlio, è definito come EMPTY e il tag di fine è proibito (in quanto non servirebbe a nulla).

XHTML è HTML express in XML e XML non supporta tag opzionali o vietati (anche se consente a un tag a chiusura automatica di sostituire una coppia di tag start + end), quindi deve essere esplicitamente chiuso lì.

HTML 5 è retrocompatibile con versioni di HTML basate su SGML.

Il tag rappresenta ciò che è noto come elemento void (vedi specifica HTML5 ), così chiamato perché non può contenere alcun contenuto (diversamente da, ad esempio, o

). Pertanto non esiste alcuna ragione sintattica per cui dovrebbe essere necessario chiudere in HTML.

XHTML, tuttavia, è basato su XML, in cui ogni tag deve essere chiuso.

È ciò che è chiamato elemento void che significa semplicemente che l’elemento non deve avere alcun contenuto (ma può avere attributi.) Le specifiche HTML5 hanno questo da dire sugli elementi void:

se l’elemento è uno degli elementi vuoti, o se l’elemento è un elemento estraneo, allora potrebbe esserci un singolo carattere “/” (U + 002F). Questo personaggio non ha alcun effetto sugli elementi del vuoto

Quindi non c’è un vero motivo per avere il singolo carattere “/” (U + 002F), ma non si romperà nulla se è incluso.

tag è fondamentalmente un elemento Void.

Per la tua comprensione:

L’immagine non ha alcun contenuto. Il tag immagine fornisce solo il percorso da cui verrà caricata la risorsa tramite l’attributo src. Quindi, non richiede alcun elemento finale.

Mentre Smiley face , questo codice è per la versione XHTML.