2010-10-22 14 views
9

Ho letto un certo numero di libri sulla dichiarazione DOCTYPE e le tre varianti: strict, transitional e frameset.Quale dichiarazione DOCTYPE dovremmo usare?

Ma non sono ancora in grado di comprendere appieno la loro differenza e in effetti non sono sicuro di quale variazione dovrei utilizzare durante la creazione del mio sito web. In particolare, non capisco la differenza tra rigoroso e transitorio.

potresti per favore consigliarmi?

risposta

8

Il set di frame è per i documenti che definiscono i set di frame (i documenti senza frame vengono quindi caricati nei frame). I frame sono di solito una scelta di design scadente che causa più problemi che risolvono.

Transitional è, più o meno, Stretto più cose che non dovresti usare (principalmente perché sono state sostituite con CSS). Ci sono un paio di eccezioni, come l'attributo start che ha alcuni buoni argomenti per supportarlo (ma non è spesso utile).

Strict è il nucleo dell'HTML e di solito è la soluzione migliore.

HTML 4.01 è l'ultima versione completa di HTML.

XHTML 1.0 è HTML 4.01 espresso in XML. Non funziona in Internet Explorer a meno che non si pretenda che sia HTML (che le specifiche text/html consentono).

XHTML 1.1 è XHTML 1.0 Strict più l'attributo target più Ruby (non il linguaggio di programmazione) più alcune altre piccole modifiche. Non c'è nessuna specifica che dia all'OK la pretesa che XHTML 1.1 sia HTML.

(cinque anni fa: HTML 5 è una bozza di specifica, soggette a modifiche, e con molti dei pezzi interessanti non funziona senza JavaScript che li appoggiano nella maggior parte dei browser in uso oggi Manca uno strumento di validazione maturo

..

HTML 4.01 è in genere la scelta migliore, ma XHTML 1.0 è utile se si dispone di una toolchain XML nel proprio sistema di pubblicazione e HTML 5 è utile se si ha bisogno di qualcosa aggiunto e si rischia di vivere su ne vale la pena.

In breve: utilizzare HTML 4.01 Strict a meno che non si sappia perché è necessario utilizzare qualcos'altro.)

Poiché questa risposta è stata originariamente scritta, HTML 5 è diventato uno standard con un buon supporto per browser e toolchain. È la specifica più strettamente allineata a come funzionano effettivamente i browser. Una serializzazione XML è disponibile se hai bisogno del supporto XML.

In breve: utilizzare HTML 5: <!DOCTYPE html>.

+0

Non intendi "XHTML 1.1 è XHTML 1.0 Strict plus ..."? – Alohci

+0

Whoops, sì, l'ho fatto. – Quentin

+0

È abbastanza impreciso dire che le parti più interessanti di HTML5 non funzionano nella maggior parte dei browser. In realtà c'è solo un browser moderno con scarso supporto, e anche questo supporta molto. Un sacco di HTML5 sta solo codificando come i browser hanno già funzionato nel mondo reale. – Chuck

-1

In primo luogo, stai usando HTML o XHTML? Consiglierei HTML - XHTML è uno standard morto. HTML5 è il futuro (anche se chissà quando quel futuro arriverà) quindi vorrei andare con HTML 4 di transizione:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

Questo è il tipo di documento comunemente supportato più vicino alla HTML5. Puoi utilizzare le funzionalità di HTML5 come il tag > nel menu < e sarà comunque validate.

+0

Vorrei andare con doctype HTML5: Accorciabile e compatibile con ogni browser. Puoi utilizzare gli elementi HTML 4 con questo e non devi preoccuparti di Strict, Transitional o Frameset. – Tae

2

Utilizzare il DOCTYPE HTML5:

<!DOCTYPE HTML> 

Tutto il resto è vecchio e rotto.

HTML5> Valid> HTML 4

Nota: Il DOCTYPE è utile solo per convalidare il documento e per l'attivazione delle maggior parte delle norme modalità compatibile nei browser moderni. Oltre a questo, è inutile. Quindi potresti anche usare la versione più moderna (HTML5).

+0

... Ragazzi ... Così avventato. – Isaac

+1

Ottima risposta. Probabilmente il migliore sulla pagina. L'unica correzione da fare è che la parte "html" della dichiarazione DOCTYPE ** DEVE ** essere in minuscolo. Sarebbe inoltre giustificata la discussione delle implicazioni per il tipo mimi. –

Problemi correlati