Il mio SGML è arrugginito, quindi spero che qualcuno venga a correggerla, ma ...
Questa riga è SGML che è un super set di HTML e XML.
<!doctype html>
Il <!
indica che il documento dovrebbe tornare indietro per seguire le direttive SGML, non il documento genitore. Questa è la stessa ragione per cui <!--
è il modo di iniziare un commento in XML e HTML. <!
scende a SGML e --
è il solito delimitatore per i commenti in SGML. Nella riga di codice precedente, <! doctype html>
è SGML valido per la dichiarazione del doctype.
Mentre questa riga fa parte del documento standard e deve seguire le regole dei documenti (dichiarate dal doctype o dallo schema dipendente dal documento):
<meta charset="utf-8">
In questo le regole SGML non si applicano più poiché stiamo guardando qualcosa che deve essere conforme all'HTML. Ora, a seconda che si tratti di HTML4, HTML5 o XHTML, il modo in cui il tag viene chiuso cambia.
In HTML4 molti tag non avevano bisogno di essere chiusi, e in effetti in alcuni casi era vietato chiudere. Questo include <meta>
, <img>
e <p>
tag, dove solo a quest'ultimo era permesso di essere chiuso (come </p>
) l'altro 2 dovrebbe essere lasciato così com'è con attributi e senza tag di chiusura - perché nella loro dichiarazione essi non avevo bisogno di tag di chiusura.
Tuttavia, in XHTML sono stati fatti tentativi per rendere l'HTML conforme a XML. Un obiettivo nobile, tuttavia ciò significava che la tag tag autonoma <meta>
o <img>
doveva essere autochiudente in quanto non conteneva contenuto e diventava <meta />
e <img />
in XHTML. Tuttavia, le persone troppo zelanti hanno iniziato a farlo anche nei documenti HTML4. Tecnicamente inverso, ma la maggior parte dei parser HTML sono molto gentili e mangiano HTML molto peggio, quindi non hanno mai prestato attenzione.
Quando HTML5 è arrivato, tutti hanno riconosciuto che le persone stavano scrivendo tag a chiusura automatica in HTML e il W3C ha detto, "hey sai cosa, se tutti lo fanno, lascia che lo facciano legalmente". Quindi, ora in HTML5 puoi avere <meta>
o <meta />
.
Per quanto riguarda il tipo da scegliere durante la scrittura del codice. Se stai emettendo XHTML, devi chiudere automaticamente il tag, senza fare domande. Altrimenti, hai le opzioni:
Argomenti contro l'auto-chiusura:
- Oltre migliaia di visualizzazioni di pagina, lo spazio aggiuntivo e la barra si sommano. Google fa alcune cose odiose per rendere l'HTML leggibile che salva i byte - per un po 'hanno omesso
</body>
e </head>
tag di chiusura.
Argomenti per chiusura automatica:
- Chiudere i tag e avvicinare il tuo codice HTML all'XML, rende più semplice per i parser basati su XML leggere i tuoi contenuti, il che potrebbe rendere più facile la ricerca o lo scraping dei contenuti se si utilizzano tecnologie basate su XML come XPath.
La scelta dipende solo da te, ma indipendentemente dall'approccio scelto, la coerenza è la chiave .