Perché rendering in quirks mode?

May 1

Perché rendering in quirks mode?


Come il World Wide Web è maturato, i siti web che sono stati creati anni fa possono ancora usare Cascading Style Sheet codifica specifica per le idiosincrasie dei browser più vecchi. Tuttavia, alcuni browser più recenti offrono la capacità di rendere questi siti più anziani, utilizzando spunti nel codice HTML di una pagina per attivare "quirks mode".

Supporto CSS precoce

il supporto del browser Web iniziale per i CSS era idiosincratico, con alcune caratteristiche CSS ignorati dai browser e le altre caratteristiche interpretati in modo diverso rispetto agli standard CSS. Ad esempio, il testo in una tabella HTML specificato nel foglio di stile in percentuale ( "font-size: 75%") apparirà nei browser moderni come il 75 per cento delle dimensioni specificate per il tag <body> della pagina. Tuttavia, Internet Explorer 5.0 potrebbe visualizzare il testo come il 75% della dimensione del font di default specificato nelle preferenze del browser del visitatore. Ciò significa che il testo tabella alle pagine codificate per il browser più vecchio può sembrare più grande o più piccolo nei browser più recenti, che possono "rompere" il display della tabella.

Utilizzando quirks mode

Quirks mode è una funzione del browser che consente di visualizzare le pagine più anziani come un vecchio browser sarebbe. Utilizzando l'esempio precedente, un browser utilizzando quirks mode visualizzerebbe tavolo testo relativo alla dimensione predefinita del testo del visitatore anziché il <body> dimensione del testo CSS. Questo offre un'esperienza di navigazione più coerente di far rispettare le norme sulle pagine scritte per browser meno recenti. Maggior parte dei browser determinare se utilizzare quirks mode utilizzando le informazioni sopra la sezione <html> di una pagina Web. le pagine più recenti includono normalmente una dichiarazione "DOCTYPE", quindi un browser il rendering della pagina in quirks mode se la dichiarazione non esiste. Altre dichiarazioni DOCTYPE possono rendere in quirks mode a seconda del browser e la versione.

I problemi

I browser implementano quirks mode in modo diverso, in modo da alcuni elementi che rendono correttamente in Internet Explorer non possono rendere allo stesso modo in Opera o Firefox. Internet Explorer 8 e poi implementare una variazione Microsoft-specifico di quirks mode, chiamato "Visualizzazione Compatibilità" che utilizza un IE-specifico <meta> tag o un pulsante nel browser stesso per passare da una modalità. Inoltre, l'ampia varietà di versioni DOCTYPE significa che un browser può rendere una versione specifica utilizzando la modalità standard, mentre un altro browser rende la stessa versione in quirks mode. Un'altra modalità, noto come "Quasi Standards Mode" rende blocchi immagine secondo standard interpretando altre parti di una pagina in modalità Quirks. Queste varie implementazioni fanno sì che una pagina non può essere visualizzata in modo coerente anche tutti i browser che offrono quirks mode.

Migliori pratiche

Come un visitatore del sito, il browser utilizzerà quirks mode quando lo ritiene necessario. Un'eccezione è IE8 o poi, dove è possibile controllare il rendering delle pagine più anziani che utilizzano il Compatibilty pulsante Visualizza "pagina rotto" nella barra degli indirizzi del browser. Come proprietario di un sito, il modo migliore per assicurarsi una pagina rende in modo adeguato in tutti i browser moderni è quello di codificare la pagina utilizzando gli standard attuali e testarlo con più browser. Quindi utilizzare una dichiarazione DOCTYPE che descriva accuratamente il tuo codice. Per indicare che il codice conforme agli standard HTML5 attuali, utilizzare questa dichiarazione:

<! DOCTYPE html>

Per assicurarsi che il contenuto della tua pagina è conforme allo standard nella vostra dichiarazione DOCTYPE, utilizzare il W3C Markup Validation Service.