Ce qui suit est une liste sommaire des différences qui existent entre les modes standard et quirks de Mozilla. Cette liste date de début juin 2001 (avec quelques ajouts depuis lors, mais pas la liste complète de ce qui a changé). Depuis lors, le changement le plus important est que beaucoup de déviations liées au contrôle des formulaires ont été retirées. Un autre changement souvent remarqué est qu'en mode standard, les feuilles de styles CSS qui portent un autre type MIME que text/css
sont rejetées.
Généralités et style
- Toutes les règles de style figurant dans
layout/style/quirk.css
s'appliquent. - En mode quirks, les noms de classes CSS sont insensibles à la casse. En mode standard, les majuscules et minuscules sont significatives.
- Les feuilles de style liées avec le document dont le type MIME renseigné est
text/css
seront toujours traitées comme du CSS même si le serveur donne un en-têteContent-Type
différent detext/css
. - L'analyseur CSS accepte les couleurs ne commençant pas par
#
. - L'analyseur CSS interprète les nombres sans unités comme des unités
px
(sauf pour la propriétéfont-size
pour suivre ce que Netscape 4 faisait, et pourline-height
et toute autre propriété où elles ont une signification distincte). - Les couleurs HTML sont traitées différemment (
#
n'est pas obligatoire et les chiffres manquants sont complétés d'une autre manière) - Une chaîne vide pour l'attribut
background
rend l'URL du fond vide uniquement en mode quirks. - Les polices système fonctionnent différemment en mode quirks (même si ce sont les contrôles de formulaires qui les utilisent qui devraient plutôt fonctionner différemment).
- Les tailles de police HTML (1-7) et CSS (
xx-small
-xx-large
) sont calculées légèrement différemment (voir le bug 18136). - Les styles de puces des listes n'héritent pas de la taille de police de la liste en mode quirks.
- La pseudo-classe
:hover
ne sera appliquée qu'au liens, images et contrôles de formulaires, à moins que le sélecteur indique un nom de balise, un ID ou un attribut.
Rendu de bloc et inline
- [Cette différence est présente en mode presque standard.] Le calcul de hauteur des lignes (pas
line-height
) est différent pour corriger les bug 5821 et bug 24186 (certains autres problèmes sont décrits dans le bug 22274). - Un grand nombre de bidouillages sont faits pour obtenir des hauteurs en pourcentage pour les images, les tableaux, les objets et les applets (et d'autres éléments ?) pour « fonctionner » (de la façon dont elles fonctionnaient dans Netscape 4), bien que CSS précise que les hauteurs en pourcentage doivent se comporter comme des hauteurs « auto » lorsque l'élément parent n'a pas de hauteur fixe. Voir une description dans le bug 33443#c9. Voir aussi le bug 41656 et ses copies. Certains de ces changements peuvent également causer d'autres effets (voir le bug 54119).
- L'élément
HR
est traité différemment dans les modes quirks et strict (et il est possible que ce soit mauvais dans les deux cas).
Tableaux
- Les couleurs de fond des tableaux fonctionnent différemment (voir le bug 4510) Il n'est pas certain que ce soit nécessaire. [Cette différence n'existe plus]
- En mode quirks,
absmiddle
(géré incorrectement ?) etmiddle
(peut-être également géré de manière incorrecte) sont acceptés comme valeurs de l'attributalign
sur des cellules de tableaux etabsmiddle
,abscenter
etmiddle
sont gérés sur les tableaux et gérés de la même manière quecenter
. - Le fond du document (et les couleurs ?) est appliqué sur les éléments
TD
,TH
,TR
,THEAD
,TBODY
etTFOOT
(quand le fond du document est spécifié d'une certaine manière) (voir aussi le bug 70831 ). - La propriété
empty-cells
a la valeur par défauthide
en mode quirks, maisshow
(suivant l'errata CSS2) en mode standard (voir le bug 33244) (la méthode correcte serait de le spécifier pour l'élément HTMLTABLE
dansquirk.css
). - En mode quirks, les tableaux flottants ne passent jamais à la « ligne » suivante si ils sont trop larges pour passer à côté des autres éléments flottants, ils provoquent juste l'élargissement de la page (voir le bug 43086).
- En mode quirks,
colspan="0"
etrowspan="0"
ne sont intentionnellement pas gérés comme décrit dans HTML4. -
hspace
etvspace
sont gérés sur l'élémentTABLE
uniquement en mode quirks. - En mode quirks, lorsque des tableaux ont un style de bordure
inset
ououtset
, la couleur de cette bordure est basée sur la couleur de fond du tableau ou de l'ancêtre le plus proche possédant un fond non transparent. - En mode quirks, les cellules de tableaux avec une bordure ont une largeur minimale d'un pixel.
- À partir de Gecko 1.8 (voir le bug 277232) : en mode quirks, une largeur fixe spécifiée sur une cellule de tableau réinitialise l'attribut
nowrap
. Si celui-ci est présent, la cellule ne sera jamais plus petite que la largeur fixe spécifiée. - La stratégie de rendu de base des tableaux ignore le padding (sur quoi ?) en mode quirks.
- La stratégie de rendu de base des tableaux gère les largeurs différemment.
Formulaires
- Les tailles des entrées de type Button sont calculées différemment.
- En mode standard, un élément
BUTTON
peut soumettre le formulaire uniquement s'il ne possède pas d'attributtype
. - Les tailles des entrées de texte (et d'autres contrôles contenant du texte ?) sont calculées différemment (voir le bug X)
- Les polices pour les éléments
INPUT
button etSELECT
sont calculées différemment. - Le fait qu'un bouton parmi un groupe radio soit toujours sélectionné (par défaut) requis par HTML n'est pas vérifié en mode quirks.
Frames
- En mode quirks,
marginwidth
etmarginheight
sur un élémentFRAME
sont propagés vers l'élémentBODY
qu'ils contient. - Dans une spécification de taille de cadres,
0*
est traité comme1*
(voir le bug 40383). - L'attribut
scrolling
surFRAME
est traité différemment.
Analyseur HTML
- En mode quirks, les commentaires HTML sont analysés d'une manière compatible avec les anciens navigateurs plutôt que de traiter « -- » comme le délimiteur de début et de fin de commentaire.
Informations sur le document original
- Auteur(s) : David Baron, Boris Zbarsky
- Date de dernière mise à jour : 8 juillet 2003