web-dev-qa-db-fra.com

Supprimer TOUT le style / la mise en forme des hyperliens

Je crée un menu de navigation avec des mots de couleurs différentes (liens href.). Je voudrais que la couleur ne change en aucun état (survol, visité, etc.).

Je sais comment définir les couleurs pour les différents états, mais j'aimerais connaître le code permettant de laisser la couleur du texte (et tout autre style/formatage) en l'état.

Aucune suggestion?

118
SiteHopper

Vous pouvez simplement définir un style pour les liens, qui remplacerait a:hover, a:visited etc .:

a {
  color: blue;
  text-decoration: none; /* no underline */
}

Vous pouvez également utiliser la valeur inherit si vous souhaitez utiliser les attributs des styles parent:

body {
  color: blue;
}
a {
  color: inherit; /* blue colors for links too */
  text-decoration: inherit; /* no underline */
}
196
Frxstrem

Comme Chris l'a dit devant moi, seule une a devrait prévaloir. Par exemple:

a { color:red; }
a:hover { color:blue; }
.nav a { color:green; }

Dans ce cas, le .nav a serait TOUJOURS vert, le: survol ne lui serait pas applicable.

Si une autre règle l’affecte, vous POUVEZ utiliser !important, mais vous ne devriez pas. C'est une mauvaise habitude à prendre.

.nav a { color:green !important; } /*I'm a bad person and shouldn't use !important */

Ensuite, ce sera toujours vert, indépendamment de toute autre règle.

3
SpoonNZ

Vous pouvez simplement utiliser un sélecteur a dans votre feuille de style pour définir tous les états d'un ancre/lien hypertexte. Par exemple:

a {
    color: blue;
}

Remplacerait tous les styles de lien et donnerait à tous les états la couleur bleue.

1
Chris