IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

[CSS] Effet de hover qui ne fonctionne pas sous IE


Sujet :

Survol d'un élément en CSS (:hover)

  1. #1
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut [CSS] Effet de hover qui ne fonctionne pas sous IE
    Bonjour,

    J'ai besoin de créer des liens avec une image (différente à chaque fois) et un texte. L'ensemble doit être réactif au passage de la souris.
    J'ai donc créé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    HTML :
    <a href="#" class="test"><img src="toto.jpg" width="20" height="20" border="1" /> Texte</a>
    CSS :
    a.test {
    	border: 1px solid green;
    	text-decoration: none;
    	}
    a.test:hover {
    	text-decoration: underline overline;
    	}
    mais l'espace entre l'image et le texte recevait alors les attribut de surlignage.
    J'ai donc ajouté un <span> autour du texte pour qu'il soit le seul concerné par le hover (déplacé sur le span seul) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    HTML :
    <a href="#" class="test"><img src="toto.jpg" width="20" height="20" border="1" /> <span>Texte</span></a>
    CSS :
    a.test {
    	border: 1px solid green;
    	text-decoration: none;
    	}
    a.test:hover span {
    	text-decoration: underline overline;
    	}
    Pas de pb sous FF mais sous IE, le hover ne fonctionne plus !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Salut,

    Pour arriver à tes fins, tu dois combiner les deux techniques suivantes...

    http://batraciens.net/css-astuces/bouton-1.htm
    http://batraciens.net/css-astuces/aj...ge-de-fond.htm

    @+ :o

  3. #3
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Merci pour les liens, surtout celui sur les images adaptées à la taille d'un bloc. C'est une technique intéressante, l'autre lien étant basic.

    Cependant, cela ne correspond pas à mon pb puisque :

    1) mes images ne peuvent être définies en background
    2) Je me suis peut être mal exprimé : les liens sont composés d'une image "et" d'un texte, pas d'une image "derrière" un texte.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Rebonjour! :o

    Afin d'obtenir le résultat escompté, voici ma vision de la méthode à employer...

    Tu utilises la technique de l'image qui s'adapte pour mettre ton image d'origine dans le div inférieur. Tu ajoutes ensuite ton texte dans le div supérieur.

    Au survol, tu utilises la technique du bouton pour mettre une seconde image en background et ton texte souligné dans le div supérieur. Ainsi, seul le texte est affecté par le surlignage...

    Ce n'est pas ce que tu cherches?

    @+

  5. #5
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    La solution, telle quelle, ne convient pas car je ne veux pas que l'image se trouve derrière le texte mais à coté.

    J'ai finallement trouvé une solution en me basant sur l'idée de l'image recouverte par un autre bloc :
    Je place mon image et mon lien juste à coté. Puis je positionne le lien en absolute sur le coin supérieur gauche de l'image et je lui affecte un padding à gauche jusqu'à ce qu'il soit suffisament éloigné de l'image.
    L'inconvénient est que je dois définir un div supplémentaire, le conteneur global, que je dois obligatoirement positionner.

    Pas très puriste mais ça fonctionne.

    Merci

  6. #6
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Cependant, cela n'explique pas pourquoi le code initial, très simple au demeurant, ne fonctionne pas sous IE alors qu'il marche très bien sous FF.

    De plus, je viens de me rendre compte qu'en affectant une règle bidon sur le a:hover, comme modifier la couleur du texte (inutile puisque le lien ne contient directement pas de texte), faisait fonctionner correctement le système.

    c'est à devenir dingue si on doit créer des règles inutiles pour faire fonctionner des règles simples !


  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Mouais, on entre là dans les entrailles du css...

    Bon, sinon, avec ce que je te proposais, il suffit dans ce cas, d'augmenter la taille de ton image en complétant par une zone transparente...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MooTools] Effet slide qui ne fonctionne pas sous chrome
    Par micker dans le forum Bibliothèques & Frameworks
    Réponses: 24
    Dernier message: 29/06/2011, 17h12
  2. hover qui ne fonctionne pas + pb sur IE
    Par remus69 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/02/2009, 14h16
  3. [Javascript] Fonction qui ne fonctionne pas sous Opera et Safari
    Par frechy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/02/2007, 10h04
  4. css : hover qui ne fonctionne pas sous IE
    Par HwRZxLc4 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/09/2006, 14h52
  5. Evenement OnClick qui ne fonctionne pas sous firefox
    Par frechy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/12/2005, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo