我想知道有没有办法重新使用SVG文件?有没有办法重新使用SVG文件?
我的意思是,我的标题SVG文件在我的标题区域,整件事情都设置为黑色,我可以在不同颜色的页脚区域使用完全相同的文件吗?或者我必须为此创建另一个SVG文件?
我想知道有没有办法重新使用SVG文件?有没有办法重新使用SVG文件?
我的意思是,我的标题SVG文件在我的标题区域,整件事情都设置为黑色,我可以在不同颜色的页脚区域使用完全相同的文件吗?或者我必须为此创建另一个SVG文件?
假设你有你的SVG嵌入SVG标签(未在img
标签)的HTML看起来有点像:
<header>
<svg xmlns="http://www.w3.org/2000/svg">
<path d="..." class="logo_fill">
</svg>
<header>
<footer>
<svg xmlns="http://www.w3.org/2000/svg">
<path d="..." class="logo_fill">
</svg>
<footer>
然后,在你的CSS中,你可以声明:
header svg .logo_fill {
fill: red;
}
footer svg .logo_fill {
fill: gray;
}
这可能工作,但我的标志包含很多不同的元素,不只是路径,它有路径,圆圈,线条等,这是否意味着我必须添加类标记到我拥有的每个元素? – hyperexpert 2013-03-11 19:34:40
另外我的svg文件是外部文件,我用
如果我有选择,我不会让它内联。对象标签可能没问题,具体取决于您的特定场景。请参阅此主题以获取W3C SVG入门的链接。 http://stackoverflow.com/questions/4476526/do-i-use-img-object-or-embed-for-svg-files本教程还讨论了一些选项。 http://edutechwiki.unige.ch/en/Using_SVG_with_HTML5_tutorial – raybiss 2013-03-11 21:15:17
SVG是XML,所以它可以重复使用“按设计”。正如@halfer和@Kroltan已经指出的那样,您可以使用服务器端语言来更改徽标颜色。
如果您无法访问服务器端,您还可以使用客户端脚本甚至XSLT来执行此操作。
看到这个线程作为首发...... Changing SVG image color with javascript
指定“html”标签,如果它是相关的。 – 2013-03-10 10:45:56
一种方法是通过服务器的脚本语言提供服务,并添加一个查询字符串以修改徽标的某些属性(例如颜色)。这将节省您不得不维护几个类似的文件副本。 – halfer 2013-03-10 11:46:55
针对@ halfer的想法,您将SVG的颜色设置为独特的文本(例如'%myLogoColor%'),然后使用服务器端脚本将'$ myLogoColor $'替换为您可能需要的任何内容。 – Kroltan 2013-03-10 12:15:15