document.compatMode
BackCompat : le mode de compatibilité standard est désactivé. Largeur du navigateur : document.body.clientWidth ;
CSS1Compat : le mode de compatibilité standard est activé. Largeur du navigateur : document.documentElement.clientWidth.
var d = document,
dd = d. documentElement,
db = d.body,
dc = d.compatMode == 'CSS1Compat',
dx = dd :
cWidth = dx.clientWidth ; ;
cHeight = dx.clientHeight;
sWidth = dx.scrollWidth;
sHeight = dx.scrollHeight; 🎜>
sTop = dx.scrollTop;
En mode Standard :
Largeur réelle de l'élément = marge-bordure gauche-largeur gauche rembourrage-largeur gauche rembourrage - right border-right-width margin-right;
En mode Quirks :
la largeur est la largeur réelle de l'élément, content width = width - (margin-left margin-right padding- left padding-right border-left-width border-right-width)
Comment déterminer en js comment le navigateur actuel analyse ?
L'objet document possède un attribut compatMode, qui a deux valeurs :
BackCompat correspond au mode bizarreries
CSS1Compat correspond au mode strict
Tableau de compatibilité des navigateurs
http://www.quirksmode.org/compatibility.html
Raison historique :
Lorsque les premiers navigateurs Netscape 4 et Explorer 4 analysaient le CSS, ils ne se conformaient pas aux normes du W3C , la méthode d'analyse à l'heure actuelle est appelée mode bizarreries. Cependant, à mesure que les normes du W3C deviennent de plus en plus importantes, de nombreux navigateurs commencent à analyser le CSS conformément aux normes du W3C et à imiter les normes du W3C dans l'analyse du CSS. Le mode est appelé mode strict luciole