Okay ... ich werde hier verrückt. Ich habe angefangen, mit SVG zu experimentieren. Die Arbeit mit SVG und das Anwenden von CSS-Klassen funktioniert wie ein Zauber. Ich kann einfach nicht herausfinden, was ich falsch mache, aber ich kann die Klasse einfach nicht dazu bringen, an einem SVG-Textelement zu arbeiten. Ich habe es ganz ausgezogen und das habe ich bekommen:
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Playground</title>
</head>
<body>
<style type="text/css">
.mainsvg {
height: 320px;
border: 1px solid red;
width: 400px;
}
.caption {
color: yellow;
}
</style>
<h2>SVG - Sandbox</h2>
<div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="mainsvg">
<text x="65" y="40" class="caption">Fact</text>
</svg>
</div>
</body>
</html>
Laut http://www.w3.org/TR/SVG/styling.html#ClassAttribute sollte dies funktionieren ...
Irgendwelche Hinweise / Tipps, was zu ändern ist, oder eine Alternative?
Antworten:
Das Festlegen der Klasse ist korrekt, aber die CSS-Farbeigenschaft hat keine Auswirkungen auf SVG. SVG verwendet Füll- und Stricheigenschaften . In Ihrem Fall müssen Sie wahrscheinlich nur die Farbe ändern, um zu füllen. Dies zeigt gelben Text für mich in Firefox an.
<!DOCTYPE html> <html> <head> <meta charset='UTF-8'> <title>Playground</title> </head> <body> <style type="text/css"> .mainsvg { height: 320px; border: 1px solid red; width: 400px; } .caption { fill: yellow; } </style> <h2>SVG - Sandbox</h2> <div> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="mainsvg"> <text x="65" y="40" class="caption">Fact</text> </svg> </div> </body> </html>
quelle
color
Eigenschaft hat keine direkt sichtbaren Effekt in svg, aber diese Farbe für die verwenden kannfill
,stroke
oder sogar beides, zum Beispieltext { fill: currentColor }
.