2009-02-02 3 views
0

J'essaie de styler certaines étiquettes de formulaire en les sélectionnant avec leur attribut 'for'. Mais rien n'est pris en compte lorsque je l'affiche dans IE7. Je fais ceci parce que je voudrais les différer les uns des autres, sans ajouter au balisage existant.Est-ce que IE7 a un problème avec certains sélecteurs d'attributs CSS?

Donc, si mon css ressemble à ce qui suit, je reçois rien:

<style> 
label[for="foo"] { 
background: blue; 
padding: 1em 
} 
</style> 

<form> 
<label for="foo"/>bar</label> 
<input name="foo" type="text"/> 
</form> 

Mais si je change à cela, les œuvres de style.

<style> 
label[fro="foo"] { 
background: blue; 
padding: 1em 
} 
</style> 

<form> 
<label fro="foo"/>bar</label> 
<input name="foo" type="text"/> 
</form> 

Avez-vous déjà vu ce genre de problème avant? Y a-t-il un problème avec la façon dont j'écris le CSS, IE7, ou autre chose?

+0

Le deuxième exemple ne semble pas fonctionner pour moi non plus. – Ross

+0

WOW ... IE est tellement merde. Je n'ai jamais remarqué ça avant. – roborourke

+0

Mon mauvais, c'est quand vous utilisez un doctype. C'est extrêmement bizarre. – Ross

Répondre

4

Cet utilisateur semble avoir eu le même problème que vous rencontrez: here

Il dit que parce que « pour » est un mot réservé, il ne peut pas être utilisé comme nom de la propriété. Mais 'htmlFor' est le nom de propriété DOM associé à l'attribut for

+0

Il semble que les mots réservés pourraient être la source du problème; mais n'ont pas encore vu de preuve concluante de cela. –

0

Les étiquettes sont associées à des champs de saisie spécifiques, donc existe-t-il une raison pour laquelle vous ne pouvez pas utiliser class plutôt que de créer une multitude de sélecteurs dans votre CSS à cette fin?

+0

Pouvez-vous clarifier votre sens? Voulez-vous dire que je devrais ajouter des classes spécifiques à chaque élément d'étiquette? –

+0

Utiliserez-vous un style différent pour chaque étiquette? Si oui, vous pouvez aussi utiliser id, mais ce ne serait pas mieux que d'essayer la méthode que vous utilisez actuellement. Ce que je dis, c'est que vous pourriez envisager de styler les étiquettes de la même façon et utiliser des classes pour des étiquettes de style similaire. – Jayx

+0

Oui, je veux les styliser différemment. Ce que j'essaie de faire, c'est d'éviter d'utiliser un balisage supplémentaire, surtout lorsque tous les navigateurs que je cible devraient, en théorie, supporter ce type de sélecteur. –