Se hai progettato pagine Web per più di qualche mese, probabilmente conosci la difficoltà di scrivere una pagina che sembra uguale in tutti i browser. In realtà, è impossibile. Molti browser sono stati scritti con funzioni speciali che solo loro potevano gestire. Oppure hanno modi speciali di gestire cose diverse da come gli altri browser le gestiscono. Per esempio:
- I layer sono stati creati per essere utilizzati nei browser Netscape. Non funzionano in nessun altro browser e in effetti sono stati deprecati in Netscape 6.x +.
- I frame incorporati sono stati originariamente creati solo per Internet Explorer e da allora sono diventati parte delle specifiche HTML.
- Internet Explorer 6.0 aggiunge uno spazio aggiuntivo (come a) tag circostanti, a meno che non si scriva il contenuto del div tutto su una riga (lunga). (IE 6 ha molte altre stranezze come questa.)
- Netscpe 4.7 non visualizzerà tabelle che non sono state scritte nel codice HTML corretto, ma mostra una pagina vuota. Questo problema è stato risolto in Netscape 6.
Il problema per gli sviluppatori di browser è che devono creare browser web compatibili con le pagine Web create per i browser più vecchi. Per affrontare questo problema, i creatori di browser hanno creato le modalità per il funzionamento dei browser. Queste modalità sono definite dalla presenza o dall'assenza di un elemento DOCTYPE e da cosa DOCTYPE
chiamate.
DOCTYPE
Vado più nel dettaglio nel mio articolo DOCTYPE
Elenco, ma qui ci sono alcune regole generali generali:
- Scegli sempre prima la modalità standard. E lo standard corrente che dovresti utilizzare è HTML5: a meno che tu non abbia una ragione specifica per evitare l'utilizzo di HTML5
DOCTYPE
, questo è quello che dovresti usare. - Vai a rigoroso HTML 4.01 se hai bisogno di convalidare elementi legacy o vuoi evitare nuove funzionalità per qualche motivo:
- Se hai suddiviso le immagini in una tabella e non vuoi correggerle, vai su Transitional HTML 4.01:
- Non scrivere le pagine deliberatamente in modalità strane. Usa sempre a
DOCTYPE
. Ciò ti farà risparmiare tempo di sviluppo in futuro e non ha alcun vantaggio. IE6 sta rapidamente perdendo popolarità e progettando per questo browser (che è essenzialmente ciò che sta progettando in modalità quirks) stai limitando te stesso, i tuoi lettori e le tue pagine. Se è necessario scrivere per IE 6 o 7, quindi utilizzare i commenti condizionali per supportarli, piuttosto che forzare i browser moderni in modalità quirk.
Perché usare DOCTYPE
Una volta che sei a conoscenza di questo tipo di DOCTYPE
passando in corso, puoi influenzare le tue pagine web più direttamente usando a DOCTYPE
indica ciò che il browser può aspettarsi dalla tua pagina. Inoltre, una volta che inizi a usare DOCTYPE
, scriverai HTML più vicino ad essere valido (dovresti comunque convalidarlo). E scrivendo XHTML valido, incoraggi i creatori di browser a creare browser conformi agli standard.
Modalità browser e modalità Quirks
DOCTYPE | androideCromoFirefoxIE 8+iOSOpera 7.5+Safari | IE 6IE 7Opera 7 | Netscape 6 |
---|---|---|---|
Nessuna | Quirks Mode | Quirks Mode | Quirks Mode |
HTML 3.2 | |||
Quirks Mode | Quirks Mode | Quirks Mode | |
HTML 4.01 | |||
Transitional | Modalità standard * | Modalità standard * | Modalità standard |
Transitional | Quirks Mode | Quirks Mode | Quirks Mode |
Rigoroso | Modalità standard | Modalità standard * | Modalità standard |
Rigoroso | Modalità standard | Modalità standard * | Modalità standard |
HTML5 | |||
Modalità standard | Modalità standard * | Quirks Mode | |
* Con questo DOCTYPE, i browser sono vicini agli standard, ma hanno alcuni problemi, assicurati di testare. Questo è anche noto come "Modalità quasi standard". |