L’importanza del DOCTYPE

Guardando il sorgente della maggior parte delle pagine HTML si nota che la prima riga è occupata da quello che sembra uno strano tag: il DOCTYPE. In realtà questo elemento è di primaria importanza se si vogliono realizzare pagine di una certa qualità.

Anche se spesso si fa riferimento genericamente all’HTML, in realtà esistono versioni differenti di questo linguaggio. Una delle differenze tra versioni diverse sono i tag a disposizione, ma una differenza ancora più importante è il “box model”.

Per “box model” si intende il modello che si utilizza per i contenitori. Fino all’HTML 4 si è utilizzato un modello che prevedeva una larghezza del contenitore e un bordo per alcuni elementi, ma, con l’introduzione dei CSS, la faccenda si sarebbe complicata leggermente per dare la massima flessibilità ai grafici. Il nuovo box model prevede uno spazio per il contenuto, un margine interno (padding), un bordo e un margine esterno (margin) e i conti in pixel vanno fatti avendo presente questi elementi. Inoltre lo si può applicare su (quasi) tutti gli elementi.

Si è così deciso di chiamare “modalità standard” quella che faceva uso del nuovo box model. Quella vecchia, di compatibilità con tutto quello che arriva dal passato, venne chiamata “quirks mode” che potrebbe significare qualcosa come “modalità delle cattive abitudini”.

Tutti i browser moderni (escluso Internet Explorer fino alla versione 7 inclusa che ha un’idea tutta sua degli standard) possono quindi lavorare in modalità quirks e in modalità standard, ma per sapere cosa fare occorre una indicazione da parte del creatore della pagina.

Il DOCTYPE indica al browser che versione di (X)HTML si sta usando. In questo modo il browser sa come comportarsi. Se è una pagina all’antica utilizzerà la modalità quirks, altrimenti utilizzerà la modalità standard e in entrambi casi il risultato dovrebbe corrispondere a quanto desiderato. In realtà non c’è nessun motivo di continuarea realizzare pagine vecchio stile, ma per chi prende il blocco note e butta giù due righe è facile cascarci e ritrovarsi con un layout che sballa perché i conti di pixel non tornano.

Stabilito che il DOCTYPE è utile occorre decidere quale usare. Vediamo cosa c’è a disposizione:

<pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&gt;

Questi primi tre sono i DOCTYPE per l’HTML 4. Il primo è una versione libera che comprende ancora molti attributi e alcuni tag legati alla presentazione del testo. Questi attributi e tag non sono invece presenti nella seconda versione, chiamata “strict”. Il terzo serve soltanto nel caso in cui volete realizzare una pagina composta da frame. Nel tag DOCTYPE (che in realtà non è un tag, ma un’entità a parte) potete notare l’URL che porta alla DTD di ogni versione. Una DTD è un documento che descrive un’applicazione XML elencando i tag, i relativi attributi e il modo in cui i tag si possono annidare tra di loro. Va detto che l’HTML non è un linguaggio che appartiene alla famiglia XML, ma ci assomiglia molto.

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;

Stesso discorso per l’XHTML. L’XHTML è la versione XML dell’HTML. La differenza è che in XHTML non esistono tag che non si chiudono. Un esempio è il <BR> di HTML che diventa <BR/> in XHTML. Apparentemente è una differenza minima, ma concettualmente è un abisso.

Abbiamo finito. Per pagine perfette mettete sempre il DOCTYPE, il risultato è garantito.files/files/

Commenta