2011-08-22 4 views
0
<html> 
<head> 
<style> 
#content input[type=text] 
{ 
    color: green; 
} 
</style> 
</head> 
<body> 
<div id="content"> 
<input type="text" value="Some Text" /> 
</div> 
</body> 
</html> 

Voilà comment cela rend dans FireFox (police est vert):CSS ne fonctionne pas dans IE7, travaille dans d'autres navigateurs

enter image description here

Voilà comment cela rend dans Internet Explorer 7 (police est pas vert):

enter image description here

Mise à jour: Ajout de la DTD a résolu le problème, ute r Lorsque l'entrée est définie sur disabled="disabled", IE7 n'affichera toujours pas la couleur spécifiée.

Répondre

2

Vous devez ajouter un doctype strict pour IE7 pour prendre en charge les sélecteurs d'attribut avec une valeur.

http://msdn.microsoft.com/nl-nl/library/aa770069

Utilisez un type de document comme celui-ci, qui est à peu près aussi lâche que vous pouvez obtenir sans casser cette fonctionnalité:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

Ou plutôt utiliser une version plus récente et plus stricte, si vous le pouvez .

+0

Y at-il un inconvénient à utiliser ce dtd? – babonk

+0

Pas vraiment. L'utilisation d'un dtd indiquera aux navigateurs comment interpréter votre page. mais pour que cela fonctionne correctement, vous devrez vous assurer que vous suivez les règles de ce dtd. Vous pouvez utiliser le validateur W3 pour cela. http://validator.w3.org/ Votre page doit toujours être validée pour minimiser le risque d'erreurs d'affichage. Bien qu'il y ait toujours des exceptions et IE7 ne supporte pas beaucoup d'autres choses. Sans DTD, votre page est affichée en mode * Quirks *. Lisez à ce sujet, et vous n'oublierez plus jamais un doctype. :) – GolezTrol

+0

Ok, donc j'ai ajouté la déclaration de la DTD et il a résolu le problème .. Cependant, IE7 ne me laissera pas définir la couleur lorsque je mets désactivé = "désactivé" sur l'entrée. FireFox va .. Comment puis-je résoudre cela? – babonk

0

essayer cela pour commencer <style type="text/css">

+0

qui n'a aucun effet sur l'affichage – babonk

0

Essayez d'utiliser des citations:

input[type="text"] 

Vous pouvez également utiliser une classe et d'appliquer cette classe à toutes vos entrées de texte.

+0

citations n'a pas d'effet. – babonk

1

Vous exécutez votre site en mode Quirks. utiliser le doctype suivant ou similaire

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
0

Peut-être pas ce que vous vouliez, mais au moins cela fonctionne;)

<html> 
<head> 
<style type="text/css"> 
.green { 
    color: green; 
} 
</style> 
</head> 
    <body> 
     <div id="content"> 
      <input type="text" class="green" value="Some Text" /> 
     </div> 
    </body> 
</html> 
Questions connexes