我想用不同的顏色在一個頁面上有一系列相同的SVG文件。我知道將SVG放入頁面而不會膨脹代碼並且仍然具有外部風格的最佳方法是通過<object>
標籤。造型相同SVG <object>不同的方式
這是我到目前爲止有:
HTML
<object type="image/svg+xml" data="images/circle.svg" class="object-circle red" >
<!-- fallback image in CSS -->
</object>
<object type="image/svg+xml" data="images/circle.svg" class="object-circle blue" >
<!-- fallback image in CSS -->
</object>
CSS
.object-circle {
height:16px;
width:16px;
}
.red .svg-circle {
fill:#f00;
}
.blue .svg-circle {
fill:#00f;
}
SVG
<?xml-stylesheet type="text/css" href="styles.css" ?>
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400">
<defs>
<style>
.svg-circle {
fill-rule: evenodd;
}
</style>
</defs>
<path class="svg-circle" d="M200,398.688A199.552,199. ..."/>
</svg>
這只是不工作。我相信在將<object>
標籤定位到CSS中操縱SVG的fill
屬性時存在問題。
將.red
選擇器關閉樣式表並使.svg-circle
選擇器保持原樣 - 將圓圈變爲紅色,但我希望能夠在頁面上使用不同的顏色。
任何幫助非常感謝!
如果我不能破解這個,我可能會訴諸老式的.png精靈表。