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 :

Hover assez complexe


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 31
    Par défaut Hover assez complexe
    Bonjour, j'ai un petit problème. Je doit faire changer la couleur d'un texte si l'on met sa souris sur une image ou sur un lien adjacent voici le texte / image en question.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div class="cabine">
    <a href="http......."><img src="./imageblabla.jpg" /></a>
    blabla<br/>
    blablabla<br/>
    <a href="http.......">En savoir +</a>
    </div>
    Ce que je veu exactement est de faire changer la couleur du texte si l'on place sa souris sur l'image ou le lien et SEULEMENT SI.

    J'ai deja essayé en utilisant un hover sur la class 'cabine' pour changer la couleur, puis un autre hover sur le texte pour le remettre a sa couleur d'origine, mais si l'on est dans l'espace vide le texte reste de la meme couleur... et si je met un autre div qui englobe le texte... il y a un probleme avec le lien...

    en gros j'aimerais bien savoir si quelqu'un pourais aurais une solution CSS, sinon je devrai incorporer du javascript... et ca ne me tente pas.

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Par défaut
    je ne pense pas que cela soit faisable en css.

    tu devra recourir à du javascript
    quelque chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="cabine" class="cabine">
    <a href="http......." onmouseover="document.getElementById('cabine').style.color='red'"onmouseout="document.getElementById('cabine').style.color='black'"><img src="./imageblabla.jpg" /></a>
    blabla<br/>
    blablabla<br/>
    <a href="http......." onmouseover="document.getElementById('cabine').style.color='red'" onmouseout="document.getElementById('cabine').style.color='black'">En savoir +</a>
    </div>
    te reste à l'adapter en plus propre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 31
    Par défaut
    c'est bien ce que je craignais
    j'aime bien éviter le javascript le plus possible... mais bon merci quand même !

  4. #4
    Membre Expert 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
    Par défaut
    Bonjour,
    mieux vaut externaliser les gestionnaires d'évènements si tu peux.
    Ton code peut être amélioré... et tu oublies les 3 attributs minimum (en plus de src) de l'image.

  5. #5
    Membre chevronné
    Profil pro
    Chef Gérant
    Inscrit en
    Octobre 2005
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef Gérant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2005
    Messages : 230
    Par défaut
    bonjour,

    sinon tu peut faire avec les selecteurs pour les navigateurs recents :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a:hover , a:hover + a {color:blue;}
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div#cabine a:hover  ,  div#cabine a:hover + a {color:purple;}

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Par défaut
    Citation Envoyé par CCyrillus Voir le message
    bonjour,

    sinon tu peut faire avec les selecteurs pour les navigateurs recents :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a:hover , a:hover + a {color:blue;}
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div#cabine a:hover  ,  div#cabine a:hover + a {color:purple;}
    il ne veux pas changer la couleur des liens mais celle du text dans sa div

  7. #7
    Membre éprouvé
    Avatar de Emyleen
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 151
    Par défaut
    Pourquoi tu ne fais pas un .cabine:hover?
    Cela changera la couleur quand on passera sur la div, ça changera la couleur du texte, et si tu ne veux pas que ton <a> change de couleur, tu fais un a:hover avec la même couleur que le a. Même si je pense que ça ne la changerai pas.

    Soyons plus clair voici ton code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div class="cabine">
    <a href="http......."><img src="./imageblabla.jpg" /></a>
    blabla<br/>
    blablabla<br/>
    <a href="http.......">En savoir +</a>
    </div>

    Voici ma proposition de css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <style>
    .cabine {
      color: #000000; /*Couleur noire */
    }
    .cabine:hover {
      color: #555555; /*Changement de couleur quand on passe sur la div*/
    }
    a, a:hover {
      color: #000000;
    }
    </style>

Discussions similaires

  1. combobx assez complexe
    Par stéphanie123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/05/2008, 23h53
  2. Réponses: 6
    Dernier message: 21/01/2008, 13h09
  3. Réponses: 13
    Dernier message: 12/10/2007, 10h09
  4. Curseur dynamique assez complexe...
    Par yiuche dans le forum Delphi
    Réponses: 7
    Dernier message: 20/03/2007, 12h55
  5. [RegEx] preg_replace assez complexe
    Par Info-Rital dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2005, 14h28

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