Ricerca…
introduzione
Doctypes - abbreviazione di "tipo di documento" - aiuta i browser a comprendere la versione di HTML in cui il documento è scritto per una migliore interpretabilità. Le dichiarazioni di doctype non sono tag HTML e appartengono alla parte superiore di un documento. Questo argomento spiega la struttura e la dichiarazione di vari doctype in HTML.
Sintassi
- <! DOCTYPE [stringa specifica per la versione]>
Osservazioni
La dichiarazione <!DOCTYPE>
non è un tag HTML. È usato per specificare quale versione di HTML sta usando il documento. Questo è indicato come la dichiarazione del tipo di documento (DTD).
La dichiarazione <!DOCTYPE>
NON è sensibile al maiuscolo / minuscolo. Per verificare se l'HTML delle tue pagine Web è valido, vai al servizio di validazione del W3C .
- Alcune vecchie versioni di IE non supportano alcuni tag HTML a meno che non sia disponibile un doctype appropriato.
- È fondamentale dichiarare un doctype per assicurarsi che il browser non usi la modalità quirk. Maggiori informazioni su MDN.
Aggiungere il Doctype
La dichiarazione <!DOCTYPE>
dovrebbe sempre essere inclusa nella parte superiore del documento HTML, prima del tag <html>
.
Vedi Documento HTML 4.01 per dettagli su come questi tipi differiscono l'uno dall'altro.
Rigoroso
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Documento HTML 4.01
La specifica HTML 4.01 fornisce diversi tipi di doctype che consentono di specificare diversi tipi di elementi all'interno del documento.
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Include tutti gli elementi e gli attributi HTML, ma non include gli elementi di presentazione o deprecati e i set di frame non sono consentiti .
HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Include tutti gli elementi HTML e gli attributi e gli elementi di presentazione e deprecati, ma i set di frame non sono consentiti .
HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Include tutti gli elementi e gli attributi HTML, gli elementi di presentazione e quelli deprecati. I frame sono permessi.
HTML 5 Doctype
HTML5 non è basato su SGML e pertanto non richiede un riferimento a un DTD.
Dichiarazione di Doctype HTML 5:
<!DOCTYPE html>
Case Insensitivity
Per le specifiche HTML 5 di DOCTYPE
W3.org :
Un DOCTYPE deve essere costituito dai seguenti componenti, in questo ordine:
- Una stringa che corrisponde a una distinzione tra maiuscole e minuscole ASCII per la stringa
"<!DOCTYPE"
.
pertanto anche i seguenti DOCTYPE
sono validi:
<!doctype html>
<!dOCtyPe html>
<!DocTYpe html>
Questo articolo SO tratta ampiamente l'argomento: maiuscole o minuscole doctype?
Vecchi doctypes
HTML 3.2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
HTML 3.2 è ben supportato dalla maggior parte dei browser in uso. Tuttavia, HTML 3.2 ha un supporto limitato per i fogli di stile e nessun supporto per le funzionalità di HTML 4 come i frame e l'internazionalizzazione.
HTML 2.0
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
HTML 2.0 è ampiamente supportato dai browser ma manca il supporto per tabelle, frame e internazionalizzazione, oltre a molti elementi e attributi di presentazione comunemente utilizzati.