Utilizzo dell'elemento DOCTYPE in modalità stranezze

Lascia fuori il Doctype per mettere i browser in modalità stranezze

SommarioEspandere

Se progetti pagine web da più di qualche mese, molto probabilmente sei consapevole della difficoltà di scrivere una pagina che abbia lo stesso aspetto in tutti i browser. In effetti, è impossibile. Molti browser sono stati scritti con funzionalità speciali che solo loro potevano gestire. Oppure hanno modi speciali di gestire le cose che sono diverse da come le gestiscono gli altri browser. Per esempio:





|_+_|

chiamate.

  • I livelli sono stati creati per essere utilizzati nei browser Netscape. Non funzionano in nessun altro browser e infatti sono stati deprecati in Netscape 6.x+.
  • Cornici in linea sono stati originariamente creati solo per Internet Explorer e da allora sono diventati parte della specifica 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 oltre a questa.)
  • Netscape 4.7 non visualizzerà le tabelle che non sono scritte nell'HTML corretto, ma mostra invece una pagina vuota. Questo è stato risolto in Netscape 6.

Il problema per gli sviluppatori di browser è che devono creare browser Web compatibili con le versioni precedenti con pagine Web create per browser meno recenti. Per affrontare questo problema, i produttori di browser hanno creato modalità in cui i browser possono operare. Queste modalità sono definite dalla presenza o dall'assenza di un elemento DOCTYPE e da cosa



|_+_|

chiamate.

DOCTYPE Modalità di commutazione e stranezze

Se metti quanto segue



|_+_|, questo attiva la modalità standard.
  • È un documento di transizione HTML 4.01
  • Poiché è in modalità standard, la maggior parte dei browser renderà il contenuto conforme (o per lo più conforme) a HTML 4.01 Transitional
  • E se metti questo

    |_+_| dichiarazione, entreranno in modalità stranezze. Quindi, entrambi questi esempi metteranno IE 6 in modalità stranezze, anche se |_+_| cambio di elemento

    • Modalità stranezze di IE 5.5 (IE 8 e 9)
    • Modalità standard IE 7 (IE 8 e 9)
    • IE 8 modalità quasi standard (IE 8 e 9)
    • Modalità standard IE 8 (IE 8 e 9)
    • IE 9 modalità quasi standard (IE 9)
    • Modalità standard IE 9 (IE 9)
    • Modalità XML (IE9)

    IE 8 ha anche introdotto la modalità di compatibilità in cui l'utente può scegliere di riportare il modello di rendering alla modalità IE 7. In modo che anche se imposti la modalità che desideri impostare utilizzando entrambi i

    |_+_| e |_+_| elementi, la tua pagina potrebbe ancora



    Cos'è la modalità stranezze?

    La modalità Quirks è stata creata per aiutare a gestire tutti gli strani rendering e il supporto del browser non conforme e gli hack che i web designer stavano usando per affrontare queste cose. La preoccupazione dei produttori di browser era che se avessero spostato i loro browser sulla piena conformità alle specifiche, i web designer sarebbero rimasti indietro. Configurando

    |_+_| l'attributo funziona, per esempio. IE8 e IE9 hanno modifiche molto drammatiche allo scripting in modalità stranezze.

    Ci sono anche differenze nella modalità Quasi standard:



    • L'altezza delle celle della tabella con solo immagini all'interno viene calcolata in modo diverso dalla modalità standard.

    Come scegliere un DOCTYPE

    Entro più nel dettaglio nel mio articolo

    |_+_|, questo è ciò che dovresti usare.
  • Vai a HTML 4.01 severo 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 a Transitional HTML 4.01:
  • Non scrivere pagine deliberatamente in modalità stranezze. Usa sempre un |_+_|. Ciò ti farà risparmiare tempo di sviluppo in futuro e non ha davvero alcun vantaggio. IE6 sta rapidamente perdendo popolarità e progettando per questo browser (che è essenzialmente ciò che è la progettazione in modalità stranezze) stai limitando te stesso, i tuoi lettori e le tue pagine. Se devi scrivere per IE 6 o 7, usa i commenti condizionali per supportarli, invece di forzare i browser moderni in modalità stranezze.
  • Perché usare DOCTYPE

    Una volta che sei a conoscenza di questo tipo di



    |_+_| andando avanti, puoi influenzare le tue pagine web in modo più diretto usando un |_+_| che indica cosa può aspettarsi il browser dalla tua pagina. Inoltre, una volta che inizi a usare
    DOCTYPE

    Versioni del browser e modalità stranezze



    |_+_| Androide
    Cromo
    Firefox
    IE 8+
    iOS
    Opera 7,5+
    Safari
    IE 6
    IE 7
    Opera 7
    Netscape 6
    Nessuno Modalità stranezze Modalità stranezze Modalità stranezze
    HTML 3.2
    Modalità stranezze Modalità stranezze Modalità stranezze
    HTML 4.01
    di transizione Modalità standard* Modalità standard* Modalità Standard
    di transizione Modalità stranezze Modalità stranezze Modalità stranezze
    Severa Modalità Standard Modalità standard* Modalità Standard
    Severa Modalità Standard Modalità standard* Modalità Standard
    HTML5
    Modalità Standard Modalità standard* Modalità stranezze

    *Con questo DOCTYPE, i browser sono vicini agli standard conformi, ma hanno alcuni problemi: assicurati di testare. Questa è anche nota come modalità Quasi standard.