2010-11-02 4 views
0

Voici un exemple (une boîte d'alerte apparaîtra avec les résultats). Exécuter ce dans Firefox puis Chrome et/ou SafariChrome et Safari calculent les marges de manière incorrecte lorsque l'enfant est plus grand que le parent

http://jsfiddle.net/QeaVM/

Remarquez comment comprend correctement FF les marges gauche et droite dans le calcul de outerWidth. Notez que Safari/Chrome indique à tort que la largeur externe de #Container est égale à celle de #Frame.

En outre, notez que Safari/Chrome rapport incorrectement la marge droite de # Contenant un nombre négatif quand il est réglé sur explicity 300px

Est-ce un bug dans le kit Web ou jquery?

+0

L'enfant n'a pas besoin d'être plus large que le parent pour que ce bogue se produise, voir la réponse ci-dessous. – Osseta

Répondre

0

en regardant la page dans les inspecteurs pour les deux navigateurs (en ignorant complètement javascript), vous pouvez voir les mêmes différences (de sorte que jQuery exclut).

Cela semble étrange et semble être signalé bug avec webkit.

https://bugs.webkit.org/show_bug.cgi?id=13343

https://bugs.webkit.org/show_bug.cgi?id=24511

Les commentaires mentionnent une solution de contournement « Une solution de contournement est mise l'élément à afficher: aucun (ou inline-block), la mesure de l'affichage marge puis repassez au bloc. »

+0

Craps de travail mais au moins il y en a un ... merci pour le travail des jambes! –

Questions connexes