Internet Explorer et :hover

Il n’y a pas très longtemps, j’ai trouvé 2 solutions afin qu’Internet Explorer puisse interpréter correctement l’effet :hover (survol) sur les boutons (par exemple le fameux submit des formulaires).


1ère solution : csshover.htc

Il s’agit du fichier csshover.htc à ajouter à votre site et d’un petit bout de code à insérer dans la css correspondant :

body { behavior: url(csshover.htc); }

input.submit:hover {

color:green;

background-color:black;

cursor:pointer;

}

Dans la page internet :

<input type="submit" class="submit" />

Vous pouvez voir le résultat avec le bouton du formulaire de recheche (en haut de la colonne de liens).

Ce fichier permet également de gérer l’effet :active. Afin de bénéficier en plus de l’effet :focus, utilisez le fichier csshover2.htc.

2ème solution : insertion de balises <a>

Internet Explorer ne gère l’effet :hover que dans le cadre de balises <a> (lien hypertexte). Donc l’astuce consiste à entourer votre bouton de cette balise dans la page internet :

<a href="javascript:void(0)">

<input type="submit" class="submit" />

</a>

Dans la CSS :

a:hover input.submit { 

color:white;

background-color:black;

cursor:pointer; 

}

Le résultat :

A noter que j’ai également entouré le lien et le bouton d’un div (avec l’id test) afin de gérer au mieux un éventuel surlignement par défaut du lien.

<div id="test">

<a href="javascript:void(0)">

<input type="submit" class="submit" />

</a>

</div>

Dans la CSS :

#test a {

text-decoration:none;

}

#test a:hover input.submit { 

color:white;

background-color:black;

cursor:pointer; 

}

En espérant que cela puisse aider…

Tags: , , , ,

Article(s) sur le même sujet

10 Commentaires pour “Internet Explorer et :hover”

  1. big_ben3333 dit:

    C’est bien dommage qu’il faille faire tout ca pour faire fonctionner correctement CSS sur le navigateur le plus utilisé des internautes !!

  2. Nhk dit:

    En effet, c’est bien dommage qu’IE ne gère pas ce genre de chose aussi facilement que Firefox, Opéra, Safari, …

  3. Romain Lafforgue dit:

    Merci pour cette aide précieuse.
    Il est en effet très regretable qu’ie ne gère pas correctement les styles.

  4. jean-luc dit:

    Oui, c’est bien mais il y a une limite :

    <a href='#>
    <div>
       <a href=....>Un lien </a>
    </div>
    </a>

    Ca marche plus. A mon humble avis, c’est parce qu’il y un lien a dans le a.. Comprenne qui pourra.

  5. Nhk dit:

    Ben la limite est que ce ‘patch’ est principalement destiné au survol des boutons de validation. Donc un lien qui englobe un input.

    Après des liens dans des liens… :(

    Ps : Désolé pour l’affichage de ton précédent message. Inconvénients des CMS maison. Vivement Dotclear. :D

  6. Un beau bouton submit avec CSS - JBJ’s Blog dit:

    [...] autre solution, expliquée ici, indique comment faire comprendre la pseudo-classe :hover à IE6. Toutefois, il faut noter que [...]

  7. Testblog » Blog Archive » Un beau bouton submit avec CSS dit:

    [...] autre solution, expliquée ici, indique comment faire comprendre la pseudo-classe :hover à IE6. Toutefois, il faut noter que [...]

  8. JBJ’s Blog » Blog Archive » Un beau bouton submit avec CSS dit:

    [...] autre solution, expliquée ici, indique comment faire comprendre la pseudo-classe :hover à IE6. Toutefois, il faut noter que [...]

  9. Valenten dit:

    Salut,

    eajn-luc a dit :

    Oui, c’est bien mais il y a une limite :

    Un lien

    Ca marche plus. A mon humble avis, c’est parce qu’il y un lien a dans le a.. Comprenne qui pourra.

    ——————–

    => c’est normal, tu fais un lien sur un div . est de type line alors que est un block

  10. az dit:

    Merci beaucoup pour cette aide, tu m’enlèves une grosse épine du pied

    Az

Laisser un message