Puis-je ajouter de la couleur aux icônes bootstrap uniquement en utilisant CSS?

le bootstrap de Twitter utilise des icônes de Glyphicons . Ils sont " available in dark gray and white " par défaut:

Picture-58.png

est-il possible d'utiliser une ruse CSS pour changer les couleurs des icônes? J'espérais une autre brillance css3 qui éviterait d'avoir à avoir une image d'icône pour chaque couleur.

je sais que vous pouvez changer la couleur d'arrière-plan de l'affichage ( <i> ) élément, mais je parle de l'icône couleur de premier plan. Je suppose qu'il serait possible d'inverser la transparence sur l'image de l'icône et ensuite de définir la couleur de fond.

donc, Puis-je ajouter de la couleur aux icônes de bootstrap uniquement en utilisant CSS?

154
demandé sur SuperBiasedMan 2012-09-12 03:08:28

14 réponses

Oui, si vous utilisez Font Awesome avec Bootstrap! Les icônes sont légèrement différentes, mais il ya plus d'entre eux, ils regarder grand à n'importe quelle taille, et vous pouvez changer les couleurs d'eux.

fondamentalement, les icônes sont des polices et vous pouvez changer la couleur d'eux juste avec la propriété css color. L'intégration des instructions au bas de la page dans le lien fourni.


modifier: Bootstrap 3.0.0 les icônes sont maintenant des polices!

comme d'autres personnes l'ont également mentionné avec la sortie de Bootstrap 3.0.0, les icon glyphs sont maintenant des polices comme Font Awesome, et la couleur peut être changée simplement en changeant la propriété CSS color . Changer la taille peut être fait via la propriété font-size .

187
répondu hajpoj 2016-12-01 16:47:48

avec la dernière version de Bootstrap RC 3, changer la couleur des icônes est aussi simple que d'ajouter une classe avec la couleur que vous voulez et de l'ajouter à la portée.

couleur Noire par défaut:

<h1>Password Changed <span class="glyphicon glyphicon-ok"></span></h1>

deviendrait

<h1>Password Changed <span class="glyphicon glyphicon-ok icon-success"></span></h1>

CSS

.icon-success {
    color: #5CB85C;
}

Bootstrap 3 Glyphicons List

38
répondu fseminario 2015-02-23 18:53:02

parce que les glyphes sont maintenant des polices de caractères, on peut utiliser les classes contextuelles pour appliquer la couleur appropriée aux icônes.

par exemple: <span class="glyphicon glyphicon-info-sign text-info"></span> l'ajout de text-info à la css rendra l'icône de la couleur bleue info.

16
répondu truncie 2016-12-01 17:07:52

une autre façon possible d'avoir des icônes bootstrap dans une couleur différente est de créer une nouvelle .png dans la couleur désirée, (par ex. magenta) et l'enregistrer en tant que /chemin-vers-bootstrap css/img/glyphicons-les hobbits- magenta .png

dans vos variables .moins trouver

// Sprite icons path
// -------------------------
@iconSpritePath:          "../img/glyphicons-halflings.png";
@iconWhiteSpritePath:     "../img/glyphicons-halflings-white.png";

et ajouter cette ligne

@iconMagentaSpritePath:     "../img/glyphicons-halflings-magenta.png";

dans vos sprites.moins ajouter

/* Magenta icons with optional class, or on hover/active states of certain elements */
.icon-magenta,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"] {
  background-image: url("@{iconMagentaSpritePath}");
}

et l'utiliser comme ceci:

<i class='icon-chevron-down icon-magenta'></i>

J'espère que ça aidera quelqu'un.

14
répondu Sepp Ludger 2012-11-12 14:25:56

travail rapide et sale autour de qui l'a fait pour moi, pas réellement la coloration de l'icône, mais autour de lui avec une étiquette ou un badge dans la couleur que vous voulez;

<span class="label-important label"><i class="icon-remove icon-white"></i></span>
<span class="label-success label"><i class="icon-ok icon-white"></i></span>
7
répondu frbl 2013-04-17 12:19:36

Le Bootstrap Glyphicons sont des polices. Cela signifie qu'il peut être modifié comme n'importe quel autre texte par le style CSS.

CSS:

<style>
   .glyphicon-plus {
       color: #F00; 
   }
</style>

HTML:

<span class="glyphicon glyphicon-plus"></span>

exemple:

<!doctype html>
<html>
<head>
<title>Glyphicon Colors</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
   .glyphicon-plus {
        color: #F00;    
   }
</style>
</head>

<body>
    <span class="glyphicon glyphicon-plus"></span>
</body>
</html>



Regardez le cours Up And Running with Bootstrap 3 de Jen Kramer, ou regardez la leçon individuelle sur Overriding core CSS avec custom styles .

6
répondu Eugene 2014-02-04 13:39:32

C'est un peu rond-point..

j'ai utilisé les glyphes comme ça

  </div>
        <div class="span2">
            <span class="glyphicons thumbs_up"><i class="green"></i></span>
        </div>
        <div class="span2">
            <span class="glyphicons thumbs_down"><i class="red"></i></span>
        </div>

et pour affecter la couleur, j'ai inclus un peu de css à la tête comme ceci

<style>
        i.green:before {
            color: green;
        }
        i.red:before {
            color: red;
        }
    </style>

voilà, les pouces verts et rouges.

4
répondu Monsters X 2013-08-28 20:17:10

fonctionne aussi avec la balise de style:

<span class="glyphicon glyphicon-ok" style="color:#00FF00;"></span>

<span class="glyphicon glyphicon-remove" style="color:#FF0000;"></span>

enter image description here

3
répondu joan16v 2015-01-19 11:28:45

c'est en fait très facile:

il suffit d'utiliser:

.icon-name{
color: #0C0;}

par exemple:

.icon-compass{
color: #C30;}

C'est ça.

3
répondu Aniruddh Dixit 2015-11-12 20:12:00

utilise la propriété mask-image , mais c'est un peu un piratage. C'est démontré dans le blog Safari ici .

c'est aussi décrit en profondeur ici .

en gros, vous créez une boîte CSS, avec par exemple un background-image: gradient(foo); , puis vous appliquez un masque d'image basé sur ces images PNG.

cela vous ferait gagner du temps de développement en créant des images individuelles dans Photoshop, mais je ne pense pas que économiserait beaucoup de bande passante à moins que vous n'affichiez les images dans une grande variété de couleurs. Personnellement, je ne l'utiliserais pas parce que vous avez besoin d'ajuster votre marge pour utiliser la technique efficacement, mais je suis un membre de l'école de pensée "la pureté est impérieuse".

3
répondu Dai 2016-12-01 16:24:29

la réponse acceptée (en utilisant font awesome) est la bonne. Mais comme je voulais juste que la variante rouge apparaisse sur les erreurs de validation, j'ai fini par utiliser un paquet addon, gentiment offert sur ce site .

vient d'éditer les chemins d'url dans les fichiers css car ils sont absolus (démarrer avec /) et je préfère être relatif. Comme ceci:

.icon-red {background-image: url("../img/glyphicons-halflings-red.png") !important;}
.icon-purple {background-image: url("../img/glyphicons-halflings-purple.png") !important;}
.icon-blue {background-image: url("../img/glyphicons-halflings-blue.png") !important;}
.icon-lightblue {background-image: url("../img/glyphicons-halflings-lightblue.png") !important;}
.icon-green {background-image: url("../img/glyphicons-halflings-green.png") !important;}
.icon-yellow {background-image: url("../img/glyphicons-halflings-yellow.png") !important;}
.icon-orange {background-image: url("../img/glyphicons-halflings-orange.png") !important;}
1
répondu mppfiles 2014-05-02 16:17:01

vous pouvez changer de couleur aussi bien dans le monde entier

c'est à dire

 .glyphicon {
       color: #008cba; 
   }
1
répondu Academy of Programmer 2014-07-23 17:46:30

j'ai pensé que je pourrais ajouter cet extrait à ce vieux post. C'est ce que j'avais fait dans le passé, avant que les icônes ont été polices:

<i class="social-icon linkedin small" style="border-radius:7.5px;height:15px;width:15px;background-color:white;></i>
<i class="social-icon facebook small" style="border-radius:7.5px;height:15px;width:15px;background-color:white;></i>

c'est très similaire à la réponse sournoise de @frbl, mais elle n'utilise pas d'autre image. Au lieu de cela, cela définit la couleur de fond de l'élément <i> à white et utilise la propriété CSS border-radius pour faire l'ensemble <i> élément "arrondi."Si vous avez remarqué, la valeur du border-radius (7.5 px) est exactement la moitié de celle de la propriété width et height (tous deux 15px, ce qui rend l'icône carrée), ce qui rend l'élément <i> circulaire.

0
répondu WebWanderer 2014-11-10 16:23:28

il suffit D'utiliser le GLYPHICONS et vous serez en mesure de changer la couleur tout en réglant le CSS:

#myglyphcustom {
    color:#F00;
}
0
répondu Valter Lorran 2016-12-01 15:53:11