335 votes

Puis-je changer la couleur de l'icône de Font Awesome ?

Je dois envelopper mon icône dans un <a> pour une raison quelconque.
Existe-t-il un moyen de changer la couleur d'une icône de font-awesome en noir ?
ou est-ce impossible tant qu'il est enveloppé dans une <a> étiquette ? Font awesome est censé être une police et non une image, non ?

enter image description here

<a href="http://stackoverflow.com/users/edit"><i class="icon-cog"></i> Edit profile</a>

2 votes

1 votes

427voto

Evan Hahn Points 2317

Cela a marché pour moi :

.icon-cog {
  color: black;
}

Pour les versions de Font Awesome supérieures à 4.7.0 ça ressemble à ça :

.fa-cog {
  color: black;
}

0 votes

@Evans Merci mais le problème est que je mets parfois <i class="icon-cog icon-white"> sur la cellule du tableau qui est de couleur noire. Votre css m'oblige à la changer en noir également :(

3 votes

Vous pouvez ajouter les éléments suivants : .icon-cog.icon-white { color : white ; }

4 votes

Je viens de tomber sur ce sujet. J'ai découvert que l'ajout d'une classe "fa" à toutes les icônes, puis l'ajout d'une classe de "fa" à toutes les icônes. .fa {color: green;} a fait l'affaire. Vous pouvez alors faire .fa.icon-white {color: white;} pour obtenir le même effet que celui recherché ci-dessus.

63voto

J.B. Points 109

HTML :

    <i class="icon-cog blackiconcolor">

css :

    .blackiconcolor {color:black;}

vous pouvez également ajouter une classe supplémentaire à l'icône du bouton...

1 votes

C'est une belle solution, bien ordonnée. Je préfère nommer les classes avec un préfixe fa comme fa-black ou fa-blue pour qu'il soit clair que je les applique à des icônes de type font awesome.

60voto

dandrews Points 446

Vous pouvez spécifier la couleur dans l'attribut de style :

<a href="http://stackoverflow.com/users/edit"><i class="icon-cog" style="color:black"></i> Edit profile</a>

23 votes

-1 Tout d'abord, c'est faux, car cela changera la couleur du texte aussi, et pas seulement la couleur de l'icône, comme demandé. Deuxièmement, l'utilisation de css en ligne ne devrait pas être encouragée.

1 votes

Où la question dit-elle "juste la couleur de l'icône" et non la couleur du texte ?

5 votes

Je pense que c'est plutôt évident dans la façon dont la question est formulée. Et il semble que vous soyez d'accord, puisque vous avez mis à jour votre réponse :)

6voto

Adrian Schmidt Points 1357

Pour ne faire apparaître que les icônes dans ce type de bouton, vous pouvez donner une classe au bouton et définir la couleur de l'icône uniquement lorsqu'elle se trouve dans le bouton.

HTML :

<a class="my-nice-button" href="http://stackoverflow.com/users/edit">
    <i class="icon-cog"></i>
    Edit profile
</a>

CSS :

.my-nice-button>i { color: black; }

Cela rendra noire toute icône qui est un descendant direct de votre bouton.

-8voto

ameya rote Points 651

HTML :

<i class="icon-cog blackiconcolor">

css :

 .blackiconcolor {color:black;}

L'utilisation de la classe vous donnera une propriété de liaison libre que vous pourrez appliquer sur n'importe quelle balise que vous souhaitez.

4 votes

-1 Les icônes Font Awesome sont du texte, d'où leur nom. Elles doivent être colorées à l'aide de css comme tout autre texte, et non en utilisant des astuces spécifiques au fournisseur. De plus, comme il s'agit de texte, elles sont déjà en noir et blanc (ou monochromes).

2 votes

@AdrianSchmidt La réponse ci-dessus est pour convertir une image en noir, je ne voulais pas changer la couleur de la police avec cela, j'espère que vous me comprenez .

2 votes

Je comprends. La réponse reste cependant incorrecte par rapport à la question. Les icônes Font Awesome ne sont pas des images, mais du texte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X