1296 Stimmen

Wie kann ich die Farbe eines 'svg'-Elements ändern?

Ich möchte diese Technik verwenden und die Farbe des SVG ändern, aber bisher war ich dazu nicht in der Lage. Ich benutze dies im CSS, aber mein Bild ist immer schwarz, egal was ich mache.

Mein Code:

.change-my-color {
  fill: green;
}

1 Stimmen

Ich bin kein SVG-Experte, aber hast du versucht, fill in background-color zu ändern?

7 Stimmen

@Megan Im svg wird die Hintergrundfarbe mit der 'fill'-Eigenschaft und der Rand mit 'stroke' (wie in Illustrator) festgelegt. w3.org/TR/SVG/propidx.html

21 Stimmen

CSS aus Ihrem HTML-Dokument wird nicht auf SVG-Elemente innerhalb von angewendet.

0voto

Benjamin Piette Punkte 3495

Für Angular-Benutzer war die "inline-svg-2" npm-Bibliothek ziemlich nützlich:

Sie können jetzt dynamisch Ihre CSS-Farben konfigurieren, einschließlich CSS-Variablen, und das SVG passt sich an.

Hinweis: Der Trick mit "currentColor" funktioniert nur für eingebettete SVGs, deshalb benötigen wir ein spezielles Modul dafür.

0voto

omarjebari Punkte 3828

Ein guter Ansatz ist es, einen Mixin zu verwenden, um die Strichfarbe und die Füllfarbe zu kontrollieren. Meine 'svg's werden als Symbole verwendet.

@mixin icon($color, $hoverColor) {
    svg {
        fill: $color;

        circle, line, path {
            fill: $color
        }

        &:hover {
            fill: $hoverColor;

            circle, line, path {
                fill: $hoverColor;
            }
        }
    }
}

Dann können Sie Folgendes in Ihrer SCSS-Datei tun:

.container {
    @include icon(weiß, blau);
}

-1voto

Shivani Punkte 301

Fügen Sie einfach fill:"desiredColor" in das svg-Tag des Bildes ein: Beispiel:

2 Stimmen

Das ist im Grunde der gleiche Vorschlag wie diese Antwort oder diese.

0 Stimmen

Diese Antworten haben erwähnt, den Pfad-Tag auszufüllen, es hat für mich im SVG-Tag funktioniert, daher habe ich es gepostet.

-2voto

Chiemelie Akah Punkte 15

Öffnen Sie Ihr Bild mit einem Browser, klicken Sie mit der rechten Maustaste auf das Bild, klicken Sie auf Seitenquelltext anzeigen und Sie sehen das SVG-Tag des Bildes. Kopieren Sie es und fügen Sie es in Ihr HTML ein, ändern Sie dann die Füllung in die Farbe Ihrer Wahl.

3 Stimmen

Die akzeptierte Antwort schlägt bereits vor, den Inline-Stil zu verwenden und dann die Farbe als Lösung festzulegen.

-2voto

cr7 aj7 Punkte 103

Funktioniert in Chrome zuletzt überprüft im August 2023

Fügen Sie einfach ein div mit einer Klasse hinzu

Fügen Sie dann diesen Style hinzu

    .icon {
    -webkit-mask: url(SVG.svg);/*Ihre SVG-Datei hier*/
    mask: url(SVG.svg) ;
    Hintergrundfarbe: blau; /* oder jede Farbe Ihrer Wahl. */
    Breite: 200px !wichtig;
    Höhe: 200px !wichtig;
   }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X