Heim  >  Fragen und Antworten  >  Hauptteil

Laden Sie SVG inline und ändern Sie die Füllfarbe

So verwende ich SVG:

<image x="0" y="0" width="40" height="40" href="/resource.svg"></image>

Dies ist die Ressource.svg:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="217px" height="131px" viewBox="-0.5 -0.5 217 131"><defs/><g><ellipse cx="108" cy="65" rx="108" ry="65" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="108" cy="65" rx="40" ry="40" fill="#a0522d" stroke="#6d1f00" pointer-events="all"/></g></svg>

Jetzt sollte ich die Farbe der SVG-Datei dynamisch ändern. Zu diesem Zweck habe ich überlegt, ob ich die SVG-Datei vollständig (inline?) und nicht als Link laden und dann die Werte für Füllung und Strich ersetzen könnte (mittels String-Ersetzung). Wenn ich es inline verwende, ist das auch mit CSS möglich?

Kann mir jemand helfen, wenn das möglich ist? Wenn ja, in welche Richtung muss ich weiter recherchieren?

P粉323224129P粉323224129184 Tage vor332

Antworte allen(1)Ich werde antworten

  • P粉639667504

    P粉6396675042024-04-03 11:12:09

    从 svg 代码中删除 fill 属性。这迫使它始终是白色的,就像现在一样。 或者,如果您在框架中工作,则可以使 fill 属性动态化(例如 fill={{myProp}})。

    Antwort
    0
  • StornierenAntwort