2010-08-02 7 views
2

J'ai une balise html avec un style CSS inline comme: <body><div style="position:absolute;top:100px;"></body> et je veux remplacer cette propriété de position en ligne. Alors, je l'ai écrit une règle CSS comme ceci:Remplacement des styles CSS en ligne dans IE7

body > div[style]{position:relative !important;top:0px !important;}

Le code ci-dessus fonctionne dans Firefox. Mais dans IE7 ça ne marche pas. Est-ce que je manque quelque chose pour IE? PS: Même si je pouvais voir mes attributs surchargés dans la fenêtre Firebug Lite, cela n'affecte rien sur ma page. (Plz référez-vous au attached image).

alt text

Répondre

2

Votre sélection n'a pas besoin d'être aussi précis - Je ne suis pas sûr, mais je ne suis pas sûr IE7 le comprendrait. Le! Important devrait l'ignorer.

Avez-vous essayé?

body div {position:relative !important;top:0px !important;} 
+0

ouais .. si je l'ai changé comme ça, ça fonctionne. :) – Veera

2

Le sélecteur d'attribut style est pas pris en charge dans IE7: http://reference.sitepoint.com/css/css3attributeselectors

+0

Ceci n'est pas un sélecteur d'attribut CSS3. Tout ce qu'il fait est de faire correspondre tous les éléments qui ont 'style' défini. http://reference.sitepoint.com/css/attributeselector – derekerdmann

+0

Bien sûr, je ne faisais que référence à la section de compatibilité de cette page qui suggère que le style ne peut pas être utilisé dans les sélecteurs d'attribut dans IE7 (CSS3 ou autre), qui l'ayant testé semble être vrai. –