Change Color of SVG on Hover | CSS-Tricks

Changer la couleur d'un SVG, astuces.

  • le svg inline ou le SVG symbol + la propriété css fill: facile mais lourd puisque l'image est rechargée avec la page à chaque fois au lieu d'être mise en cache.
  • deux background SVG différents (un de chaque couleur): oui, merci mon con, on y aurait pensé tout seul... c'est pas tellement une astuce et ça multiplie par deux le nombre d'icônes. SU-PER.
  • un background SVG (ou SVG object) + un filter : pas bête... le plus dur étant de trouver la couleur que l'on souhaite à base de filters.
  • utiliser un masque de la couleur de fond du site (et donc l'icône en transparent dedans) puis définir la couleur de fond de l'image: oui, mais ça déplace le problème sur la couleur de fond.
  • Un SVG background sous forme de data:image/svg+xml dans le fichier CSS: retour à la méthode 1 mais en écartant le souci de chargement, puisque le fichier css sera mis en cache. Bon, il risque de peser sa tonne au premier chargement, mais bon...

C'est con que les fontes d'icônes soient un problème pour l'accessibilité, parce que ça reste quand même la solution la plus propre et optimisée, je trouve.

❝ 1 commentaire ❞

1  Jerry Wham le

Le svg inline, c'est du texte. Donc non, ce n'est pas une image qui est chargée à chaque fois et oui tu peux le mettre en cache comme le reste de ta page.
Je ne sais pas si tu as lu l'article de Sara Soueidan sur Tympanus (https://tympanus.net/codrops/2015/07/16/styling-svg-use-content-css/) mais je pense que l'utilisation de <use> + css devrait résoudre ton problème...

 

Fil RSS des commentaires de cet article

✍ Écrire un commentaire

les commentaires relevant du SPAM seront filtrés et dégagés direct...

Quelle est le premier caractère du mot ta0vrw ?