Question

J'ai trouvé un bogue étrange dans Internet Explorer 8. Peut-être que quelqu'un pourra m'aider à le déplacer.

Lorsque j'essaie de saisir la position d'arrière-plan d'un élément en utilisant background-position-x , toutes les versions d'Internet Explorer fonctionnent comme excepté, à l'exception de IE8 qui se bloque .

Lorsque j'exécute el.getStyle ('position-arrière-plan') , tous les navigateurs me donnent les valeurs correctes, à l'exception des IE (6, 7 et 8) qui renvoient non défini . .

J’utilise donc el.getStyle ('background-position-x') pour toutes les versions d’IE.

IE8, cependant, se bloque sur le code ci-dessus.

Quelqu'un a eu des problèmes similaires?

Était-ce utile?

La solution

Merci à tous pour votre aide. C’est vraiment un bogue et ne fonctionne que sur le scénario suivant.

  1. css doit être chargé sur une feuille de style externe
  2. L'élément
  3. n'a pas de style en ligne

La solution, même très sale, consiste à ajouter un style inline à l'élément. Rend IE8 heureux et tous les autres navigateurs fonctionnent.

Je n'ai pas testé mais, selon à cela ticket , FF2 a également le même comportement.

Notes annexes:
@marcgg - J'allais voter votre réponse car elle n'est vraiment pas utile (et doit déclencher une guerre de flammes) mais, à vrai dire, jQuery ne manifeste pas ce problème. Même si, comme vous le savez probablement déjà, ce n’est PAS une option! ;)

@Fabien - IE prend en charge background-position-x et ne prend pas en charge background-position dans la construction approuvée par le W3C.

Autres conseils

Pourquoi ne pas utiliser la la fonction CSS de jQuery qui fonctionne bien pour le crossbrowser?

Essayez d’utiliser:

el.getStyle('backgroundPositionX')

et

<*>

oui, un fil plus ancien, mais je pensais que je posterais une autre solution que je suis tombée dans le phare de @ mootools ....

if (Browser.Engine.trident){
    var xy = el.getStyle('background-position-x')+" "+el.getStyle('background-position-y');
} else {
    var xy = el.getStyle("backgroundPosition");
}

fonctionne bien pour moi jusqu'à présent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top