Saya sedang membuat aplikasi klon Twitter menggunakan VueJS 3.
Saya menyimpan logo Twitter sebagai fail .svg dan apabila menggunakannya dengan atribut <img />
标记一起使用。当我为 <svg>
标记提供 fill="#fff"
saya juga boleh menukar warnanya. Walau bagaimanapun, saya ingin menggunakan fail .svg ini di berbilang lokasi dan dalam warna yang berbeza.
Jadi saya cuba menukar warna svg secara dinamik dengan memberikannya <img />
标签提供类 fill-white
、bg-white
和 text-white
tetapi ia tidak berfungsi.
Fail .svg semasa saya - Putih
<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>
Tag Gambar
<img src="/twitter-bird.svg" draggable="false" class="w-52 lg:w-96 fill-white" alt="Twitter Bird" />
Saya mencuba ini pada fail .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>
Saya tahu saya perlu menjadikan warna svg ini boleh diedit. Tetapi saya tidak dapat mencari cara untuk melakukan ini.
Anda boleh membuat komponen daripada fail svg dan mengikat padding pada prop: