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 :

Comment attribuer une couleur à un lien suite à un clic ?


Sujet :

CSS

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut Comment attribuer une couleur à un lien suite à un clic ?
    Bonjour,

    j'ai un petit problème en css :voici mon petit code qui fonctionne normalement sauf qu'en remplacent <a:href="#">lien1</a> par <a:href="http://localhost:8080:localhost/monsite/mapage">lien1</a>(pour charger la page consernée),
    les propriétés de style ne sont plus applicable.En faite ce que veux obtenir c'est en cliquant sur un lien du menu,ce lien doit avoir un font vert jusqu'à le clic sur un nouveau lien.
    mon code:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title></title>
     
    <style type="text/css">
    ul#menu { 
    width: 100%; 
    height: 43px;
    background: #FFF url("images/menu-bg.png") top left repeat-x; 
     font-size: 0.8em; 
     font-family: "Lucida Grande", Verdana, sans-serif; 
     font-weight: bold; 
     list-style-type: none; 
     margin: 0;
     padding: 0; }
    ul#menu li { 
    display: block; 
    float: right;  
    margin: 0 0 0 5px;
    border-left:1px solid;
    border-top:1px solid;
    border-right:1px solid;
     }
    ul#menu li a { 
    height: 43px;
     color: #777;
      text-decoration: none; 
      display: block; 
      float: left; 
      line-height: 200%; 
      padding: 8px 15px 0; 
      }
      ul#menu li a:link {
    background: #FFF url("images/current-bg.png") top left repeat-x;
     color: #000;
     font-weight:bolder;
      }
    ul#menu li a:hover {
    background: #FFF url("images/current-bg.png") top left repeat-x;
     color: #000;
     font-weight:bolder;
      }
    ul#menu li a:focus {
    background: #FFF url("images/current-bg.png") top left repeat-x;
     color: #000;
     font-weight:bolder;
      }  
     
    ul#menu li a:active{ 
    color: #000; 
    background: #FFF url("images/current-bg.png") top left repeat-x;
     padding: 5px 15px 0; }
     
    </style>
     
    </head>
     
    <body>
     
    <ul id="menu">
    <li><a href="#" title="">Home</a></li>
    <li><a href="#" title="">Products</a></li>
    <li><a href="#" title="">Contact</a></li>
    <li><a href="#" title="">Label 4</a></li>
    <li><a href="#" title="">Label 5</a></li>
    </ul>
     
     
    </body>
    </html>
    Je vous remercie d'avance pour votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 634
    Billets dans le blog
    20
    Par défaut

    La pseudo-classe :active ne concerne que les éléments sur lesquels tu es en train de cliquer...
    Pour faire ce que tu souhaites, il faut affecter une classe spécifique au lien de ton menu correspondant à la page actuelle.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    merci pour ta réponse ,ça fait des jours que j'essaie avec cette solution.

    peut tu m'aider à savoir comment affecter la classe (une fois définie) à mon lien pour la page actuelle.
    par exemple j'ai définie la classe suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    .current{
    color:red;
    }
    maintenant je ne vois plus comment l'affecter au lien concerné.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 634
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" class="current">
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    Merci encore une fois.
    juste une dernière question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    en faisant <a href="" class="current" >lien1</a>
    lien1 sera toujours affiché selon la calsse current.

    mon problème est comment faire ça dynamiquement?cad seulement en cliquant sur "lien1", je veux appliquer la classe 'current'.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 634
    Billets dans le blog
    20
    Par défaut
    Ca dépend de la structure de ton site...
    Si tu navigues sur plusieurs pages HTML, tu pourras facilement appliquer la classe sur un lien différent à chaque fichier.
    En revanche, si c'est une unique page PHP, il faut rajouter la classe en faisant un test sur quelle est la page en cours (par $_GET par exemple si tu fais passer la page à afficher dans l'URL)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    en faite la structure de mon site est comme suit:

    j'utilise un menu en haut de page, et on cliquant sur un item du menu je charger une page .

    j'ai essayé de faire comme suit mais ça ne fonctionnait toujours pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="liens_vers_page1" onfocus="this.className='current';"lien1</a>
     
    <a href="liens_vers_page2" onfocus="this.className='current';"lien2</a>

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    Citation Envoyé par info007 Voir le message
    en faite la structure de mon site est comme suit:

    j'utilise un menu en haut de page, et on cliquant sur un item du menu je charger une page .

    j'ai essayé de faire comme suit mais ça ne fonctionnait toujours pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="liens_vers_page1" onclick="this.className='current';"lien1</a>
     
    <a href="liens_vers_page2" onclick="this.className='current';"lien2</a>

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 634
    Billets dans le blog
    20
    Par défaut
    Non, c'est dans le code de ta page qu'il faut changer :
    Page1.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="#" class="current">lien1</a>
    <a href="liens_vers_page2">lien2</a>
    Page2.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="liens_vers_page1">lien1</a>
    <a href="#" class="current">lien2</a>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    ok.

    merci bien ,maintenant j'ai compris mais malheureusement je ne suis pas dans ce cas cad j'ai un seul menu dans la page d'accueil et je n'ai pas le code du menu dans chaque page de mon site .je travaille en faite avec struts tiles (si tu les connaissais déja):il ya une page "template" qui contient les partie statique de la page (menu en haut,menu a gauche par exemple) et toutes les pages héritent de cette ci en modifiant que le body.

    merci beaucoup.

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par info007 Voir le message
    ok.

    merci bien ,maintenant j'ai compris mais malheureusement je ne suis pas dans ce cas cad j'ai un seul menu dans la page d'accueil et je n'ai pas le code du menu dans chaque page de mon site .je travaille en faite avec struts tiles (si tu les connaissais déja):il ya une page "template" qui contient les partie statique de la page (menu en haut,menu a gauche par exemple) et toutes les pages héritent de cette ci en modifiant que le body.

    merci beaucoup.
    Salut,

    Avec STRUTS tu travailles donc avec des JSP il te suffit donc de gérer de manière similaire à celle décrite pour PHP par Bovino vu que tu construits également ton contenu html dynamiquement

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    en faite ,mon problème c'est comment savoir quelle page est actuellement affichée?

    cad je veux mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    si  la page1 est affichée alors
    <a href="lien_vers__page"  class="current">lien1</a>
    sinon 
    <a href="lien_vers__page" >lien1</a>

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Tu peux ajouter un paramètre GET a tes liens pour le passer lors du clic...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://monurl?choix=1">
    Ensuite il ne te reste plus qu'à tester choix dans ta JSP...

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 121
    Par défaut
    GRAND MERCI A VOUS

    effectivement ça fonctionne comme ça

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

Discussions similaires

  1. [VB.NET] Comment remplacer une couleur par une autre?
    Par jazz matazz dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/02/2006, 14h29
  2. Comment donne une couleur a une ligne dans un DBGrid
    Par samy84s dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/09/2005, 23h22
  3. Comment obtenir une couleur clignotante dans un TStringGrid ?
    Par OutOfRange dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/07/2005, 00h46

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