SVG-USE-Element und :hover-Stil – ein Problem mit der Browserunterstützung
Beim Versuch, den :hover-Stil auf SVG-Elemente anzuwenden, die über < defs> Bei der Verwendung von
Die Einschränkung der Browserunterstützung
Die SVG-Spezifikation besagt eindeutig, dass CSS2-Selektoren nicht auf das konzeptionell geklonte DOM angewendet werden können Baum der Elemente, auf die durch
Firefox-Ausnahme
Firefox sticht als Ausnahme hervor und unterstützt die Adressierung von „virtuell“. " Elemente, die über
Ein alternativer Ansatz mit currentColor
Anstatt sich auf :hover zu verlassen, besteht ein weiter verbreiteter Ansatz darin, das Referenzierte festzulegen Füll- oder Strichwert des Elements auf currentColor setzen. Durch Ändern der Farbeigenschaft des
Hier ein Beispiel:
<svg version="1.1" width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <style type="text/css"> #p0 {fill:currentColor} #use1:hover {color:green} #use2:hover {color:red} #use3:hover {color:blue} </style> <defs> <polygon>
Mit dieser Technik können Sie die Füll- oder Strichfarbe von eingebettetem SVG effektiv ändern Elemente, wenn das
Das obige ist der detaillierte Inhalt vonWarum funktioniert :hover nicht mit SVG-Elementen und was ist die Alternative?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!