3
所以我知道我可以用css替換svg上的漸變填充,類似於;通過CSS重新使用SVG漸變
<svg width="100" height="50" version="1.1" xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
rect{fill:url(#GradientSwap1)}
</style>
<defs>
<linearGradient id="GradientSwap1">
<stop offset="5%" stop-color="#F00" />
<stop offset="95%" stop-color="#999" />
</linearGradient>
</defs>
<rect width="100" height="50"/>
</svg>
,並使用納克級的,我可以換出這些梯度的不止一個,但我只能得到它的工作,如果我包括嵌入到每個SVG的DEFS的<linearGradient>
。
我的問題是,而我似乎無法弄清楚。有沒有辦法將這些梯度defs從SVG中拉出來,並將它們變成我可以在其他人使用的資源?就像在.NET/XAML世界中一樣,我可以很容易地將它們拉出來,將它們放在資源字典中,並隨時隨地使用相同的字體作爲我喜歡的任何字體。
那麼,是否有相同難題的html5/css3/angular方法?不得不多次重複使用多個SVG以及可能多個相同的Gradient defs的想法聽起來都是錯誤的。
那太酷了! +1除了這條路線使Gradient只能在引用它的svg的相同視圖中可用嗎?或者可以在某處放置漸變以使其像全班一樣在全球範圍內可用? –
呀正好 - 你需要把它的地方,就是全球 - 口主體標籤或類似的東西之後,否則它只會在它實際上是在視圖中提供 – justbees
哦,對了,我並沒有做索引。連接作爲全球資源點,就像我必須從.net世界翻譯東西,並且它一開始沒有點擊,謝謝! –