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 :

Modifier la couleur d'un bloc au survol d'un lien


Sujet :

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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 59
    Points
    59
    Par défaut Modifier la couleur d'un bloc au survol d'un lien
    Bonjour,
    pour modifier la couleur de fond d'un bloc en fonction du lien survolé j'ai essayé ceci:

    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
    24
    25
    26
    27
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>test</title>
     <style type="text/css">
     
     #affichage{
     position:absolute;
     width:100px;
     height:100px;
     top:200px;
     left:200px;
     border:solid 1px red;
     }
     
     </style>
     <body>
     <div id="affichage">
     <span id="nom">QUI ?</span>
     </div>
     <a href="#" onmouseover="document.getElementById('affichage').style.background-color='red;';">dupont</a>
     <a href="#" onmouseover="document.getElementById('affichage').style.background-color='blue';">durand</a>
     <a href="#" onmouseover="document.getElementById('affichage').style.background-color='yellow';">dupuis</a>
     
     </body>
     </html>
    Ça ne fonctionne pas et je ne comprend pas pourquoi...
    Ensuite j'aimerai également pouvoir modifier le texte contenu dans le bloc en fonction du lien survolé... avec un truc du genre "document.getElementById('nom').caption='blablabla';" ... CSS permet-il celà? sinon il faudra que je passe par une image mais je trouve que ça fait un peu bricolo...

    Un petit coup de main me sera fort utile dans mon apprentissage !

    merci d'avance

    A+
    Philippe

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    background-color est l'éciture CSS, il faut utiliser backgroundColor en javascript, donc
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <a href="#" onmouseover="document.getElementById('affichage').style.backgroundColor='red';">dupont</a>
    (*) attention à laposition du ; après red

    Ensuite j'aimerai également pouvoir modifier le texte contenu dans le bloc en fonction du lien survolé... avec un truc du genre "document.getElementById('nom').caption='blablabla';" ... CSS permet-il celà?
    non ilte faut passer par le javascript, tu noteras que ce que le code ci dessus n'est pas réalisé en CSS mais bien en javascript

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    Mais bien sûr !!! Merci beaucoup. La syntaxe, la syntaxe, la syntaxe...
    Sinon pour le texte en JS... "text", "caption" ???
    Encore un p'tit coup de main siouplé ?

    A+
    Philippe

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    dans ce cas on nage en plein javascript et le mieux et de passer par un fonction qui fera tout ce que tu as besoin.
    voila un code rapide pour exemple.
    Code html : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <!DOCTYPE html>
    <html>
    <head>
    <title>test</title>
    <style type="text/css">
    #affichage{
      position:absolute;
      width:100px;
      height:100px;
      top:200px;
      left:200px;
      border:solid 1px red;
    }
    </style>
    <script>
    function change( idobjet, couleurfond, texte){
      // recup de l'objet a traiter
      var oElem = document.getElementById( idobjet);
      // si objet existe, on ne sait jamais !!!
      if( oElem){
        // modif couleur de fond
        oElem.style.backgroundColor = couleurfond;
        // modif du contenu via son innerHTML
        oElem.innerHTML = texte;
      }
    }
    </script>
    <body>
    <div id="affichage">
    <span id="nom">QUI ?</span>
    </div>
    <a href="#" onmouseover="change('affichage', 'red',    'texte ROUGE');">dupont</a>
    <a href="#" onmouseover="change('affichage', 'blue',   'texte BLEU');">durand</a>
    <a href="#" onmouseover="change('affichage', 'yellow', 'texte JAUNE');">dupuis</a>
    </body>
    </html>
    tu pourrais également passer par les class si tu as plusieurs paramètres CSS à modifier.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    Merci pour cette réponse, je vais mettre tout ca en œuvre, je reviendrai sur ce post en cas de difficulté.

    Cordialement
    Philippe

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je suis nouveau sur ce Forum alors je me présente rapidement : j'ai 21 ans et je suis étudiant en ingénierie financière, j'apprend donc seul le webdesign. Par conséquent je vous prie d'être indulgent avec moi. J'espère aussi ne pas m'être trompé en réutilisant cette discussion.

    Voilà, je suis tombé sur ce site et j'ai donc utilisé la formule proposé par NoSmoking. Celle ci fonctionne très bien, quand je passe ma sourie sur le lien, la div que j'ai sélectionnée change de couleur comme prévu mais celle ci reste colorée après que ma sourie ne soit plus sur le lien en question.

    Ma question est donc : est t'il possible de faire en sorte que lorsque mon curseur quitte le lien, la div repasse à sa couleur d'origine?

    et est-il possible d'utiliser la même fonction avec un background image?

    Merci d'avance,

    Piloulille

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bienvenue donc sur DVP,
    il eut effectivement mieux valu ouvrir une autre discussion, mais comme on est là
    Ma question est donc : est t'il possible de faire en sorte que lorsque mon curseur quitte le lien, la div repasse à sa couleur d'origine?
    oui en appelant la fonction sur l'événement mouseout
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a href="#" 
      onmouseover="change('affichage', 'red', 'texte ROUGE');"
      onmouseout="change('affichage', 'blue', '')">
    dupont</a>
    et est-il possible d'utiliser la même fonction avec un background image?
    c'est le même principe en changeant simplement l'action dans la fonction.

    nota: il peut être plus intéressant de modifier la class de l'objet

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour ta réponse.

    Je tiens à m'excuser, la prochaine fois je recréerai une discussion.

    En tout cas super ça marche parfaitement, exactement le rendu que j'attendais.

    J'aurais juste une dernière question, comment puis-je intégrer un effet de transition, je chercherais à faire le même effet que "ease-in-out" en CSS. Un effet de fondu en gros?

    Encore merci .

    Piloulille

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    comment puis-je intégrer un effet de transition, je chercherais à faire le même effet que "ease-in-out" en CSS.
    je ne saurais que te conseiller l'excellent article les transitions CSS3 par l'exemple de Jérôme Debray.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Ce que je voulais dire c'était réaliser ces transitions mais en JS pour mon changement de backgroundImage.

    ce sont les mêmes formules?

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    non dans le lien fournis il s'agit de CSS3 uniquement.

    Pour des transitions en javascript tu peux t'inspirer de Galerie avec effet de fondu

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Super, merci beaucoup pour votre aide

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

Discussions similaires

  1. Apparition d'un bloc au survol d'un lien
    Par filtep dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 20/11/2011, 21h42
  2. [BP]Borland Pascal : modifier les couleurs par défaut.
    Par Pipoland dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 12/10/2004, 21h32
  3. [JTabbedPane] Modifier la couleur de l'onglet
    Par Pill_S dans le forum Composants
    Réponses: 6
    Dernier message: 17/09/2004, 12h44
  4. [C#] [DataGrid] Modifier la couleur d'une ligne
    Par nalaya dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/08/2004, 12h11
  5. Modifier la couleur de fond d'un popupmenu
    Par lil_jam63 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 05/08/2004, 20h23

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