web-dev-qa-db-fra.com

CSS a: lien conserver la couleur d'origine

Est-il possible de dire à un lien de ne pas changer de couleur en CSS et d'utiliser celui par défaut.

Exemple

J'ai un texte en rouge et ce texte est aussi un lien. Normalement, ce texte changera en bleu parce que c'est un lien, mais je veux qu'il reste rouge.

Existe-t-il donc un style global pour un lien: pour ne sélectionner aucune couleur?

22
Warface

Essayez ceci dans votre feuille de style:

a:link {
   color:inherit;
}

Notez que vous devez alors probablement vous assurer que vous avez un autre moyen d'identifier les liens, sinon vos utilisateurs seront confus. (C'est-à-dire, ne retirez pas non plus le soulignement.)

Si vous souhaitez gérer les navigateurs ne prenant pas en charge inherit, je suppose que répéter la définition qui a initialement défini votre couleur fera l'affaire.

Par exemple, supposons que la classe important doit être affichée en rouge:

.important {
    color:red;
}

.important a:link {
    color:red;
}

Mais bien sûr, ce n'est pas agréable d'avoir à doubler toutes les indications de couleur. Je suppose que l'on pourrait faire quelque chose en JavaScript (parcourir tous les éléments a et leur donner explicitement la bonne classe). (Je n'ai pas IE disponible pour tester cela.)

57
Paŭlo Ebermann

Si toutes vos balises a sont contenues dans une balise de paragraphe, vous pouvez simplement définir la color de la balise a sur inherit. Vous pouvez également définir un style pour toutes les balises a afin qu'elles aient la couleur de la balise de paragraphe. Un avertissement rapide concernant inherit, il existe des versions plus anciennes de IE qui ne le prennent pas en charge (IE7 et versions antérieures).

1
ayyp