2010-12-08 3 views
25

J'ai un lien dans une page HTML:Ne change pas de couleur de lien quand un lien est cliqué

<a href="#foo">foo</a> 

La couleur du texte du lien est à l'origine bleu. Lorsque vous cliquez sur le lien, la couleur du texte du lien passe d'abord en rouge, puis en bleu. Je veux que la couleur du texte du lien ne change pas lorsque l'utilisateur clique dessus. Comment puis-je y arriver?

J'ai essayé

a:active { 
    color: none; 
} 

en CSS, mais nous avons eu pas de chance.

Et je ne veux pas utiliser dans CSS:

a:active { 
    color: blue; 
} 

, parce que la couleur originale du texte du lien peut être autre que le bleu.

Merci. Editer: la page est affichée sur le navigateur de l'iPhone, et je veux faire un: actif pour garder la couleur du texte du lien d'origine.

Répondre

48

que vous recherchez ceci:

a:visited{ 
    color:blue; 
} 

Des liens ont plusieurs états, vous pouvez modifier ... la façon dont je me souviens eux est LVHFA (poignée de Lord Vader autrefois Anakin)

Chaque lettre représente un pseudo-classe: (Link, visité, Hover, Mise au point, active)

a:link{ 
    color:blue; 
} 
a:visited{ 
    color:purple; 
} 
a:hover{ 
    color:orange; 
} 
a:focus{ 
    color:green; 
} 
a:active{ 
    color:red; 
} 

Si vous voulez que les liens vers toujours être bleu, il suffit de changer tous au bleu. Je noterais cependant sur un niveau d'utilisabilité, ce serait bien si le clic de la souris faisait changer un peu la couleur (même si juste un bleu plus clair/plus foncé) pour indiquer que le lien était effectivement cliqué (ceci est particulièrement important dans une interface à écran tactile où vous n'êtes pas toujours certain que le clic a bien été enregistré)

Si vous avez différents types de liens que vous voulez tous avoir la même couleur quand vous cliquez, ajoutez une classe aux liens.

a.foo, a.foo:link, a.foo:visited, a.foo:hover, a.foo:focus, a.foo:active{ 
    color:green; 
} 
a.bar, a.bar:link, a.bar:visited, a.bar:hover, a.bar:focus, a.bar:active{ 
    color:orange; 
} 

Il convient de noter que tous les navigateurs respectent chacune de ces options ;-)

+0

L'OP veut savoir comment utiliser ': active' comme décrit. Je pense que vous devriez relire la question. – jwueller

+4

J'aime la façon dont vous vous souvenez autant des états. Bahahaha! –

0

Vous devez utiliser une valeur de couleur explicite (par exemple #000 ou blue) pour la color -property. none n'est pas valide ici. La valeur initiale est spécifique au navigateur et ne peut pas être restaurée à l'aide de CSS. Gardez à l'esprit qu'il existe également d'autres pseudo-classes que :active.

+0

J'utilise IE 9 et j'ai essayé tout posté dans ce post et pas de chance. Les liens de couleur change encore. – naijacoder

7

juste donner

a{ 
color:blue 
} 

même si elle est visité ce sera toujours bleu

+0

C'est drôle - puisque je veux toujours personnellement un changement de couleur, je règle tous les pseudo états, mais vous avez raison, c'est la façon la plus simple de le gérer. Si vous voulez avoir des ensembles de liens de différentes couleurs alors juste ajouter une classe fonctionne aussi: 'a.foo {color: orange;} a.bar {color: green;}' – scunliffe

+0

pour moi c'était la meilleure façon de le faire, sinon, si vous le faites comme mentionné dans la réponse de scunliffe, TOUT autre un tag que vous voulez styler la couleur de vous devrez remplacer pour chaque: lien,: visité, etc. –

23

Je pense que cela convient parfaitement pour toutes les couleurs que vous avez:

a { 
    color: inherit; 
} 
-1

Ne pas trop compliquer il. Donnez simplement une couleur au lien en utilisant les tags.Cela laissera une couleur constante qui ne changera pas même si vous cliquez dessus. Alors, dans votre cas, mettez-le en bleu. S'il est réglé sur une couleur particulière de bleu que vous voulez copier, vous pouvez appuyer sur "imprimer scrn" sur votre clavier, coller dans la peinture et utiliser le sélecteur de couleur (en forme de pipette) choisir la couleur du lien et afficher le code dans les paramètres de couleur.

Questions connexes