Je crée une application de clonage Twitter en utilisant VueJS 3.
J'ai enregistré le logo de Twitter sous forme de fichier .svg et lorsque je l'utilise avec l'attribut <img />
标记一起使用。当我为 <svg>
标记提供 fill="#fff"
, je peux également changer sa couleur. Cependant, je souhaite utiliser ce fichier .svg à plusieurs emplacements et dans différentes couleurs.
J'ai donc essayé de changer dynamiquement la couleur du svg en lui donnant <img />
标签提供类 fill-white
、bg-white
和 text-white
mais ça ne marche pas.
Mon fichier .svg actuel - Blanc
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" aria-hidden="true"> <g> <path fill="#fff" d="M23.643 4.937c-... 1.7-1.477 2.323-2.41z"></path> </g> </svg>
Étiquettes d'images
<img src="/twitter-bird.svg" draggable="false" class="w-52 lg:w-96 fill-white" alt="Twitter Bird" />
J'ai essayé cela sur des fichiers .svg
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" aria-hidden="true"> <g> <path fill="params(fill) #fff" d="M23.643 4.937c-... 1.7-1.477 2.323-2.41z"></path> </g> </svg>
Je sais que je dois rendre les couleurs de ce svg modifiables. Mais je ne trouve pas comment faire ça.
Vous pouvez créer des composants à partir de fichiers SVG et lier le remplissage aux accessoires :