truc exclure IE

Billet

En aidant quelqu'un sur un forum de conception de pages web, j'ai trouvé une nouvelle manière de traiter Internet Explorer à part, il s'agit d'une variation de la méthode de sélection par attribut sauf que ma technique joue aussi sur la spécificité du sélecteur. Voici le code :


p[class="toto"].toto {background-color:blue;}
p.toto {background-color:red;}

<p class="toto">le texte</p>

Les navigateurs comprenant CSS2 tels que Gecko et Opera 7 donneront à la première règle une valeur plus importante et afficheront donc le texte en bleu alors qu'IE ignorera cette règle. J'avais au départ pensé à mettre un simple !important sur la règle mais je me suis dit que ce serait pénible à taper sur chaque ligne, une solution de facilité consistait à mettre les règles avec sélecteur d'attribut à la fin de la feuille, mais là encore, une simple réorganisation de celle-ci causerait des problèmes d'affichage. L'augmentation de la spécificité par une double déclaration m'a semblé idoine. Je pense que j'utiliserai cette méthode plus souvent car celle que j'utilise le plus, le sélecteur enfant (body > p.toto), a comme inconvénient la perte fréquente des styles dans les réorganisation du code HTML.