Parce qu'IE a un bug dans la reconnaissance de !important, et maintenant la plupart des concepteurs de standards Web utilisent ce bug pour le rendre compatible avec IE et FF, mais IE7.0 a corrigé ce bug, donc le problème est réapparu, comment le rendre compatible avec IE.7.0 En même temps, est-il compatible avec ie6.0 et ff ? Comme le dit le proverbe : « Il existe des politiques d'en haut et des contre-mesures d'en bas ». Les concepteurs de normes de pages Web étrangères utilisent un filtre CSS (et non un hack CSS) pour être. compatible avec ie7.0, ie6.0 et ff, ce qui suit est ma traduction d'un site Web étranger
Créez un nouveau style CSS comme suit :
#item {
. width: 200px;
hauteur: 200px;
background : red;
}
Créez un nouveau div et utilisez le style CSS défini précédemment :
some le texte ici
est affiché dans le corps Ajoutez ici l'attribut lang, qui est zh en chinois :
Définissez maintenant un autre style pour le div element:
*:lang(en) #item{
background:green !important
}
Ceci est fait pour écraser le style CSS d'origine avec !important Since. le sélecteur :lang ie7.0 ne le prend pas en charge, cette phrase ne sera utilisée Aucun effet, donc le même effet sous ie6.0 est obtenu, mais malheureusement, Safari ne prend pas en charge cet attribut, donc le style css suivant doit être ajouté :
#item:empty {
background: green !important
}
: Le sélecteur vide est une spécification CSS3, bien que Safari ne prenne pas en charge cette spécification. , cet élément sera toujours sélectionné, que cet élément existe ou non. Il est désormais vert. Il fonctionnera désormais sur les navigateurs autres que les versions ie, et passera le test sous les navigateurs et systèmes d'exploitation suivants :
ie7 beta. 2 aperçu/win
ie5.01+/win
firefox 1.5/win
opera 8.5/win & linux
netscape 7.01, 8/win
mozilla 1.7.12/win & linux
safari 2/mac
firefox 1.0.4/linux
epiphany 1.4.8/linux
galeon 1.3.20/linux
Selon l'auteur, il s'agit en fait pas un hack, ce devrait être un filtre, mais cela ne semble pas être le plus important, car grâce à cette méthode, nous avons encore une fois résolu le problème de compatibilité entre IE6.0, IE7.0 et les autres navigateurs, et la méthode de using: lang-filter sera utile à l'avenir.