Heim >Web-Frontend >CSS-Tutorial >Warum funktionieren :hover-Stile nicht für SVG-Elemente und wie kann ich das umgehen?
Beim Versuch, :hover-Stile auf SVG-Elemente anzuwenden, die mit eingebettet wurden
Gemäß der SVG-Elementspezifikation verwenden CSS-Selektoren kann nicht auf den konzeptionellen DOM-Baum angewendet werden, in dem sich die referenzierten Elemente befinden. Das bedeutet, dass :hover-Pseudoklassen bei diesen Elementen nicht funktionieren, sodass Sie keine interaktiven Stile anwenden können.
Während die meisten Browser keine Unterstützung für die Adressierung „virtueller“ Elemente haben, die über < Bei der Verwendung> stellt Firefox eine Ausnahme dar. Es ermöglicht die Änderung von Füll- oder Strichfarben, indem deren Werte im referenzierten Element auf „currentColor“ gesetzt und die Farbeigenschaft des
Eine alternative Methode zum Erzielen von Hover-Effekten auf eingebetteten SVG-Elementen beinhaltet die Verwendung von „currentColor“. Indem Sie das Füll- oder Konturattribut des referenzierten Elements auf „currentColor“ setzen und die Farbe des
Betrachten Sie den folgenden SVG-Code:
<svg> <style> #p0 { fill: currentColor; } #use1:hover { color: green; } #use2:hover { color: red; } #use3:hover { color: blue; } </style> <defs> <polygon>
Wenn Sie mit der Maus über jedes der
Das obige ist der detaillierte Inhalt vonWarum funktionieren :hover-Stile nicht für SVG-Elemente und wie kann ich das umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!