J'ai un problème avec le :hover
pseudo-classe de CSS.
Je l'utilise comme
tr.lightRow:hover {
color:red
}
Cela fonctionne dans Safari et Firefox, mais pas dans IE7. Aidez-moi, s'il vous plaît.
Réponses:
5 pour la réponse № 1IE7 prend en charge: survolez, au moins en mode standard. Il ne peut pas en mode quirks.
4 pour la réponse № 2
IE a une histoire de mauvais support CSS. À l'origine seulement a
balises prises en charge :hover
. Et aussi vous ne pouviez pas avoir quelque chose comme a:hover span
pour indiquer que seul le span
la balise devrait changer lors du survol du parent a
.
Si tu veux correct :hover
dans toutes les versions d’IE, vous devez utiliser javascript et onmouseover
/onmouseout
.
Cela aide également si vous utilisez un doctype xhtml, pour activer le mode standard.
3 pour la réponse № 3
IE 6 ne supporte que le :hover
pseudo classe sur les liens, mais IE 7 le prend en charge sur la plupart des éléments.
Comme David l'a mentionné, cela pourrait ne pas fonctionner avec des bizarreriesmode. La raison serait alors que IE revient généralement à quelque chose de plus proche de IE 4 en mode quirks, permettant de nombreuses fonctionnalités spécifiques à IE et supprimant plusieurs fonctionnalités conformes aux normes.
Si tu veux le :hover
fonctionnalité sur un élément de bloc et la prise en charge de IE 6, vous pouvez utiliser un élément de lien et en faire un élément de bloc à l'aide de CSS. Notez qu'un lien uniquement peut contenir des éléments en ligne (par exemple, aucun div
s) donc si vous voulez bloquer des éléments à l’intérieur du lien, vous devez également définir cela à l’aide de CSS:
CSS:
.hoverlink { display: block; }
.hoverlink:hover { background: #eee; }
.hoverlink .item { display: block; }
HTML:
<a href="..." class="hoverlink">
<span class="item">Line 1</span>
<span class="item">Line 2</span>
<span class="item">Line 3</span>
</a>
(Vous pouvez également envisager l'impact sur les moteurs de recherche en utilisant la technique. Un lien a un meilleur impact s'il contient simplement le texte décrivant le lien).
0 pour la réponse № 4
Je me suis heurté à ce problème plusieurs fois. Jetez un coup d’œil au lien suivant.
http://www.bernzilla.com/item.php?id=762
"Si vous souhaitez une prise en charge pour: survolez tous les éléments et pas seulement la balise <a>, assurez-vous que vous utilisez un DOCTYPE strict, de sorte que IE7 ne passe pas en mode quirks."
0 pour la réponse № 5
: le survol n’est pas pris en charge par tous les éléments, par exemple. ça marche <a>
mais se casse <div>
Autant que je sache