2009-07-24 8 views
1

J'ai une page très simple, avec un bouton dijit. J'essaie de remplacer la police sur le bouton avec le bleu, les temps, gras. Cela fonctionne bien dans FF, mais dans IE, je ne vois que du noir, de l'arial, du texte normal. Si je regarde dans IE Dev Toolbar, il montre la règle comme s'appliquant, mais pas dans l'affichage. Est-ce que je fais quelque chose de mal? Voici le code:dijit bouton ne s'applique pas visiblement dans IE6

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Theme Test</title> 
     <link href="js/dojo/resources/dojo.css" rel="stylesheet" type="text/css"> 
     <link href="js/dijit/themes/tundra/tundra.css" rel="stylesheet" type="text/css"> 
     <style type="text/css"> 
      .tundra .dijitButton { 
       font-family:'Times New Roman',Times,serif; 
       color:#3a7bb8; 
       font-weight:bold; 
      } 
     </style> 
     <script type="text/javascript" src="js/dojo/dojo.js" djConfig="parseOnLoad:true, isDebug:false"></script> 
     <script type="text/javascript"> 
      dojo.require("dijit.form.Button"); 
      dojo.require("dojo.parser"); 
     </script> 
    </head> 
    <body class="tundra"> 
     <button dojoType="dijit.form.Button">This should be Times, Bold, Blue</button> 
    </body> 
</html> 

Répondre

1

en utilisant <button> comme le sélecteur semble fonctionner:

<style> 
button { 
    font-family:'Times New Roman',Times,serif; 
    color:#3a7bb8; 
    font-weight:bold; 
} 
</style> 

Vous pouvez également utiliser des sélecteurs plus spécifiques .tundra button, .tundra #myDiv button, etc.

+0

correct ... IE6 a quelques problèmes avec plusieurs classes CSS utilisées dans sélecteurs. – scunliffe

0

Ce n'est probablement pas idéal, mais je peux obtenir ce travail en utilisant un ID par opposition à la classe. Peut-être que IE n'applique pas le style après le rendu de dijit? Je ne sais pas ... voici le code je:

<style type="text/css"> 
    #btn { 
     font-family:'Times New Roman',Times,serif; 
     color:#3a7bb8; 
     font-weight:bold; 
    } 
</style> 

<button dojoType="dijit.form.Button" id="btn">This should be Times, Bold, Blue</button> 
+0

Hmm ... c'est certainement moins qu'idéal. Si je change le thème de la toundra en nihilo, cela change l'apparence, donc * quelque chose * s'applique. Juste pas mon override. Peut-être que je peux trouver d'autres sélecteurs plus spécifiques à utiliser, cependant. Ou mettre l'ID à l'extérieur quelque part .... – sprugman

+0

Cela n'a pas fonctionné: '

' – sprugman

1

Essayez de faire il a la priorité, comme plus spécifique le sélecteur, vous êtes assuré:

body .tundra .dijitButton {} 

Ou, si IE a un bug bizarre de ne pas correctement en cascade le style, choisissez la classe qui est appliquée sur la zone précise que vous souhaitez modifier, comme:

body .tundra .dijitButtonText {} 
+0

Merci. J'espérais que quelqu'un puisse savoir de quel côté utiliser la cascade - il y a un ** lot ** de classes et d'intervalles dans ce code généré ... – sprugman

1

Je ne peux pas voter encore en mais j'ai eu le même problème. L'utilisation du sélecteur de boutons ne le coupait pas pour moi. Au lieu de cela, la solution postée par jrburke était correcte. "IE a un bug bizarre à propos de ne pas cascader correctement le style, choisissez la classe qui est appliquée sur la zone précise que vous souhaitez modifier"

.dijitButtonText {} était ce qui était nécessaire.

J'utilisé

.dijitButton .dijitButtonNode {} pour les couleurs d'arrière-plan, etc.

.dijitButton .dijitButtonNode .dijitButtonText {} pour thématisation de police.

J'ai aussi utilisé

.dijitButton.dijitButtonHover .dijitButtonNode .dijitButtonText {} 

.dijitButton.dijitButtonActive .dijitButtonNode .dijitButtonText {}

Questions connexes