2

我有一个div在我的 CSS 中分配的背景图像。它是一个 svg 文件。有没有可能我可以访问路径来改变它们的颜色,即使它是背景图像?

4

2 回答 2

3

您可以添加一个

<?xml-stylesheet type="text/css" href="svg-stylesheet.css" ?>    

SVG 文件顶部的说明,然后在样式表中定义样式。

请参阅http://www.w3.org/TR/SVG/styling.html#ReferencingExternalStyleSheets

于 2013-01-26T10:14:01.057 回答
0

我不知道您可以通过任何方式访问外部链接的 svg 文件的路径(例如在imgobject标签中),但是如果您将 svg xml 直接包含在您的页面中,您可以访问这些路径,因此您可以使用相同的宽度、高度和 x、y 位置,在前景 div 下方给它一个 z-index 并将 svg xml 放在背景 div 的一侧,您可以模拟您正在尝试做的事情。

这是一个 jsfiddle,展示了如何使用 JQuery 通过获取 ajax 请求加载 svg 图像,更改路径样式,然后将修改后的 svg xml 嵌入到背景 div 中:

http://jsfiddle.net/webchemist/j2Dgq/

编辑

jsfiddle 更新为在 IE9 中工作,问题是对 wikimedia 的跨站点 ajax 请求而不是内联 svg ...

于 2013-01-26T00:07:26.790 回答