CSS Zibaldone

Il comportamento di Mozilla nella modalità Quirks

Articolo originale: http://developer.mozilla.org/en/docs/Mozilla_Quirks_Mode_Behavior

Autori: David Baron, Boris Zbarsky

Traduzione: Gabriele Romanato (21 febbraio 2008)

Quello che segue è un approssimativo elenco delle differenze esistenti tra la modalità standard di Mozilla e quella quirks. Questo elenco arriva fino al giugno 2001 (con alcune aggiunte seguenti, ma non un elenco completo). Da quel periodo i cambiamenti più significativi hanno riguardato l'eliminazione di molti quirk dai controlli dei form. Un altro cambiamento significativo, è che in modalità standard rifiutiamo i fogli di stile CSS con un tipo MIME diverso da text/css.

Contenuti

1. Vari e di stile

  • Si applicano tutte le regole di layout/style/quirk.css.
  • In modalità quirks i nomi di classe CSS non sono sensibili al caso. In modalità standard lo sono.
  • I fogli di stile collegati al documento con un tipo MIME text/css saranno trattati come CSS anche se il server restituisce un header Content-Type diverso da text/css.
  • Il parser CSS accetta i colori che non iniziano con #.
  • Il parser CSS interpreta i numeri senza unità come px (tranne per font-size perché lo faceva Netscape Navigator 4, e tranne per line-height e ogni altra proprietà dove hanno un significato distinto).
  • I colori HTML vengono letti in modo diverso (# non viene richiesto, e le cifre mancanti vengono completate in modo diverso)
  • Una stringa vuota per l'attributo background imposta l'URL come vuoto solo in modalità quirks.
  • I font di sistema funzionano in modo diverso (non dovrebbero funzionare in modo diverso anche i controlli dei form che li usano?).
  • Le dimensioni dei font HTML (1-7) e CSS (xx-small - xx-large) vengono calcolate in modo leggermente diverso (vedi il bug 18136).
  • I pallini degli elenchi non ereditano la dimensione del font dell'elenco.
  • La pseudo-classe :hover viene applicata solo ai link, alle immagini e ai controlli dei form, a meno che il selettore non includa nomi, id, o attributi.

2. Layout di blocco e inline

  • [Questo quirk è presente in modalità almost standards.] I calcoli dell'interlinea (non line-height) sono diversi per risolvere i bug 5821 e bug 24186 (altri problemi vengono descritti nel bug 22274).
  • Ci sono molti quirk per far funzionare le altezze in percentuale di immagini, tabelle, oggetti e applets (come in Netscape Navigator 4), anche se i CSS affermano che le altezze in percentuale dovrebbero comportarsi come 'auto' se l'elemento genitore non ha un'altezza fissa. Si veda la descrizione del bug 33443#c9. Si veda anche il bug 41656 e i suoi duplicati. Alcuni di questi quirk possono causare altri effetti (si veda il bug 54119).
  • L'elemento HR è trattato in modo differente nella modalità standard e quirks (e forse sbagliato in entrambe).

3. Tabelle

  • I colori di sfondo delle tabelle funzionano in modo diverso (si veda il bug 4510) Non è chiaro se questo quirk è necessario. [Questo quirk è stato rimosso]
  • absmiddle (gestito in modo scorretto?) e middle (anche questo gestito in modo scorretto?) vengono accettati come valori di align sulle celle di tabella, e absmiddle, abscenter, e middle sono supportati sulle tabelle (trattati come center).
  • TD, TH, TR, THEAD, TBODY, e TFOOT hanno lo sfondo (e il colore?) applicato su di essi (quando lo sfondo del documento viene specificato in alcuni modi?) (si veda anche il bug 70831 ).
  • La proprietà empty-cells di default su hide in modalità quirks ma su show (secondo l'errata corrige dei CSS2) in modalità standard (si veda il bug 33244) (sebbene la soluzione corretta sarebbe quella di specificarla sull'elemento TABLE in quirk.css).
  • Le tabelle flottate non si spostano mai sulla riga successiva se non hanno abbastanza spazio. Continuano semplicemente ad allargare la pagina (si veda il bug 43086).
  • colspan="0" e rowspan="0" sono trattati di proposito in modo diverso da come descritto in HTML4.
  • hspace e vspace sono supportati su TABLE.
  • Quando le tabelle hanno uno stile del bordo inset o outset, il colore del bordo si basa sul colore dello sfondo della tabella o dell'antenato più prossimo con uno sfondo non trasparente.
  • Le celle di tabella con un bordo hanno una larghezza minima di un pixel.
  • A partire da Gecko 1.8 (si veda il bug 277232): Una larghezza fissa specificata su una cella di tabella resetta l'attributo nowrap. Se l'attributo nowrap è presente la larghezza della cella non sarà mai inferiore della larghezza specificata.
  • La strategia di layout delle tabelle ignora il padding.
  • La strategia di layout delle tabelle gestisce le larghezze in modo differente.

4. Form

  • I bottoni di input calcolano le loro dimensioni in modo diverso.
  • In modalità standard un elemento BUTTON (?) può eseguire l'invio solo quando manca dell'attributo type.
  • Gli input testuali (e altri controlli che contengono testo???) calcolano le loro dimensioni in modo diverso
  • I font per gli elementi INPUT e SELECT vengono calcolati in modo diverso.
  • Il requisito HTML secondo cui un solo bottone in un gruppo radio viene sempre selezionato (di default) non viene rispettato.

5. Frame

  • marginwidth e marginheight su un FRAME vengono propagati a BODY.
  • Nella dimensione di un frame, 0* viene trattato come 1* (si veda il bug 40383).
  • L'attributo scrolling su un FRAME viene gestito in modo diverso.

6. Parser HTML

  • I commenti HTML vengono letti in un modo campatibile con i vecchi browser, invece di trattare "--" come delimitatori iniziali e terminali del commento.

6.1 Informazioni sul documento originale

  • Autori: David Baron, Boris Zbarsky
  • Data dell'ultimo aggiornamento: 8 luglio 2003

6.2 Vedi anche

La modalità Quirks di Mozilla

Risorse interne

Risorse esterne

Feed dal blog

onwebdev

Gabriele Romanato