Hallo,
hier ist mein Code:
https://codepen.io/nicerboy/pen/ZgBRRz
Leider schaffe ich es nicht, dass sich .cls2 und .cls3 bei Klick auf den roten Button einfärben.
(Die weiße Form im Hintergrund brauche ich noch.)
Wie kann man das machen?
Liebe Grüße
SVG-Path-Farbe mit Klick auf Button ändern
-
-
Offenbar kann man die Elemente eines SVGs als Hintergrundbild nicht mit CSS gestalten:
https://stackoverflow.com/ques…erved-as-background-image
ZitatBecause as a background img, it isn't part of the DOM and you can't manipulate it.
Du kannst jedoch den selben Effekt erzielen, indem Du die Grafiken normal einbettest und z. B. die opacity animierst um zwischen den drei Grafiken umzuschalten.
-
PS: Außerdem liefert document.querySelector nur das erste Element. Da dein Selektor mehrere Elemente liefert, musst Du document.querySelectorAll benutzen und die Element in einer Schleife abarbeiten.
-
Hallo Sempervivum,
danke für deine Antwort!
Aktuell sieht es dann so aus:
https://codepen.io/nicerboy/pen/EqNdKY
Ich schaffe es leider nicht so, dass es funktioniert. -
Ich hatte mir vorgestellt, die SVGs in den selben Container .icon zu legen und absolut zu positionieren, so dass sie übereinander liegen. Da es drei Bilder sind, musst Du jedes für 1/3 der Zeit, d. h. 33.33% anzeigen. Und wenn Du statt gezielter Klassen alle Pfade ändern willst, brauchst Du ebenfalls querySelectorAll und eine Schleife, denn es sind ja mehrere Pfade. Und musst den Punkt vor dem "path" weg lassen.
Ausgehend von deiner ersten Version habe ich dies gemacht:
https://codepen.io/Sempervivum/pen/RXoBmm
BTW: Wenn wir bei Opacity sind, kann man mit wenigen Änderungen am Timing einen netten Übergangseffekt erzielen:
-
Mit dem Übergangseffekt finde ich das auch schöner.
Falls es wen interessiert?
Für unsere Javascript feinden kann man es auch ohne JS machen
-
Hallo @Sempervivum,
danke dir!
Leider habe ich mit Version A Probleme in Safari. Der letzte Frame wird dann einfach nicht mehr dargestellt.
Und auch basti1012: Es sollte kein weicher Übergang da sein, sondern eher so typisch GIF-artig aussehen. -
Okay, ich habe jetzt die Schrift vom Hintergrund getrennt und jetzt sieht es gut aus.
Danke für eure Hilfe!
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!