J'ai fait un bookmarklet qui, entre autres choses, charge un formulaire dans un div "popup". Je réinitialise chaque balise CSS connue de l'humanité sur chaque élément que je crée, et autant que je sache l'examiner dans firebug, aucune balise CSS ne «traverse». Cependant, sur certaines pages, la largeur d'entrée comprend son rembourrage:Pourquoi le 'padding' compte-t-il parfois à l'intérieur de la largeur d'un élément, et parfois non?
input.clientWidth = input.style.width
sur d'autres pages, la largeur d'entrée ne pas comprennent le rembourrage:
input.clientWidth = input.style.width + input.style.paddingLeft + input.style.paddingRight
En tant que tel, voici un petit code extrait:
input.style.width = '300px';
input.style.border = '1px solid grey';
input.style.padding = '20px';
alert(input.clientWidth);
sur certaines pages, nous avons signalé 298 (300 - la frontière 1px), et sur d'autres pages nous avons signalé 338 (300 - la frontière 1px + 20 + 20). Quelles sont les causes? Et plus important encore, que puis-je faire pour obtenir un comportement cohérent?
Edit:
Ceci est tous dans le même navigateur - Firefox 3.6.8
Merci beaucoup! C'était le problème (même si cela n'avait rien à voir avec IE). En supposant que je veux de la cohérence entre toutes ces pages, quels sont les différents modes de compatibilité que je dois vérifier? – Mala
Ce sont les 2 seuls modes AFAIK. –
merci beaucoup. Je suis un peu surpris de noter que amazon.com utilise BackCompat! – Mala