我想知道是否可以在单个SVG文件中创建多个“画笔”,并在整个CSS中使用它们.
现在我有一个单一的SVG文件,其中有一个渐变存储在“defs”和一个单一的矩形绘制它.然后我使用这个SVG文件作为我的CSS中的背景图像.它工作得很好,但我宁愿不会有一百万个单独的SVG文件.我想像“刷子”一起组合在一个单一的SVG文件,像CSS sprites或XAML是有能力的.
有没有办法做到这一点?如果是这样,为svg文件中SVG元素使用的CSS背景图像指定什么语法?
感谢任何帮助.
解决方法
在理论上是可以的.虽然在w3c规范中尚未完全定义,但在此阶段实现方式有所不同.
注意,svg本身允许一个special fragment syntax,所以在理论上你应该可以链接到不同的视图的同一个svg文件.这可以用来做CSS / SVG精灵.
直接链接到嵌套svg片段(或svg中的任何其他元素)的id是需要进一步指定的东西.
假设与CSS背景属性的片段链接起作用,那么如果您使用XHTML(将生成的文件作为应用程序/ xhtml xml)提供服务的一种可能性就是将主要文档中的svg资源内联,不需要许多单独的文件.如果您希望将svgs分开编辑,则可以将其作为预发布版本进行.另一种可能性是使用data uris.