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 :

Rendre visible une image au survol d'un lien


Sujet :

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

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Rendre visible une image au survol d'un lien
    Salut à tous ! Une petite colle pour vous

    Présentement j'ai le code suivant

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <a href="#">
                <img class="test" src="/app/images/img1.jpg" />
                <img class="overview_title" src="/app/images/bkg_img2.jpg" />
                <img class="overview_pic" src="/app/images/bkg_img3.jpg" />        
    </a>

    Ce que je veux, c'est que mon img.test, soient invisible quand je ne suis pas sure lien, et que lorsque je passe mon curseur sur le lien, img.test apparaissent. (sa ajoute un effet sur les deux autre images qui sont en dessous.)

    Avec le code css suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
     a img.test{
       display:none;
     
    }
     
    a:hover img.test{
       display:block;
       position:absolute;
       top:0px;
       left:0px;
       z-index:99;
    }
     .overview_title{
       position:relative;
    }
     
     .overview_pic{
       position:relative;
       left:-3px;
       z-index:1;   
    }
    Bon avec ça, tout fonctionne parfaitement dans Firefox, Safari et Opéra. Mais comme d'habitude, IE fait a sa tête...


    Je sais que c'est surtout le fait que IE a des problèmes avec le :hover...

    Une idée quelqu'un ??

  2. #2
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Citation Envoyé par mauderific Voir le message
    Je sais que c'est surtout le fait que IE a des problèmes avec le :hover...
    Non IE supporte très bien les pseudo-classes dynamiques sur les liens.
    Cela vient d'un bug IE.
    Ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a:hover {background: none;}

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Sa fonctionne toujours pas... j'ai changé un peu mon css

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    a img.test{
       position:absolute;
       top:0px;
       left:0px;
       z-index:99;
       visibility:hidden;
     
    }
     
    a:hover img.test{
       visibility:visible;
    }
    Sa fonctionne partout, sauf dans IE6..... Il ne comprend tout simplement pas le img.test. Help !!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    a img.test{
       position:absolute;
       top:0px;
       top:0px !dez;
       left:0px;
       left:0px !dez;
       z-index:99;
       visibility:hidden;
     
    }
     
    a:hover img.test{
       visibility:visible;
    }

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Le problème c'est pas que IE positionne mal mon image. Elle est bien positionnée (si je la rend visible). Mais c'est l'action de passer de invisible a visible qui ne fonctionne pas ds IE6....

  6. #6
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par Erwan31 Voir le message
    Non IE supporte très bien les pseudo-classes dynamiques sur les liens.
    Cela vient d'un bug IE.
    Ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a:hover {background: none;}
    As-tu testé? Même si cela peut paraître étrange au premier abord (mais c'est IE...), attribuer une propriété bidon sur le a:hover permet effectivement le fonctionnement sur IE6.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je viens de réessayer et Non ça ne fonctionne toujours pas.....

  8. #8
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Plutôt que de juste dire:
    Non ça ne fonctionne toujours pas.....
    Tu pourrais spécifier plus précisément en quoi cela ne fonctionne pas correctement.

    En l'occurence l'ajout d'une propriété sur le a:hover permet bien de faire apparaître l'image (alors que cela n'était pas le cas avant) mais elle ne disparaît pas.

    Un moyen de le faire fonctionner est de jouer avec les dimensions de l'image plutôt que le display. Cela permet en plus que l'image soit préchargée sous tous les navigateurs (cf http://meyerweb.com/eric/css/edge/popups/demo2.html)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    a img.test{
    	 border:0;
    	 position:absolute;
       top:0px;
       left:0px;
    	 width:0;
    	 height:0;	 
    }
     
    a:hover img.test{
    	 width:auto;
    	 height:auto;
    }
    MAIS, opera n'accepte pas, je me suis toujours demandé pourquoi, de réduire une image à 0px; il reste 1px...

    On peut alors envisager utiliser le width/height que pour IE6-, par exemple.

Discussions similaires

  1. Afficher une image au survol d'un lien
    Par floctc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/06/2009, 09h11
  2. Afficher une image au survol d'un lien
    Par Mo_Poly dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/02/2008, 21h04
  3. FlexGrid : Rendre visible une ligne
    Par pcvesoul dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/05/2006, 14h38
  4. Un lien qui affiche une image au survole
    Par Edoxituz dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/01/2006, 12h06
  5. [List] Rendre visible une ligne
    Par grand_duck dans le forum Composants
    Réponses: 5
    Dernier message: 30/10/2005, 23h45

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