我想知道我是否可以在一个SVG文件中创建多个"画笔"并在我的CSS中使用它们.
现在我有一个SVG文件,其中有一个存储在"defs"中的渐变和一个绘制它的矩形.然后我将这个SVG文件用作我的CSS中的背景图像.它运作良好,但我宁愿没有一百万个独立的SVG文件.我想在单个SVG文件中将"画笔"组合在一起,就像CSS sprites或XAML一样.
有没有办法做到这一点?如果是这样,为CSS背景图像指定哪个SVG元素来使用svg文件的语法是什么?
谢谢你的帮助.
理论上是的,这应该是可能的。不过,它尚未在 w3c 规范中完全定义,并且现阶段的实现确实有所不同。
请注意,svg 本身允许特殊的片段语法,因此理论上您应该能够链接到同一 svg 文件的不同视图。这可以用来制作 CSS/SVG 精灵。
直接链接到嵌套 svg 片段的 id(或 svg 内的任何其他元素)需要进一步指定。
假设与 CSS 背景属性中的片段链接有效,那么如果您使用 XHTML(将生成的文件作为 application/xhtml+xml 提供服务),则可能将 svg 资源内联包含在主文档中,从而消除了许多单独的文件。如果您希望将 svgs 分开进行编辑,则可以将其作为预发布构建步骤来完成。另一种可能性是使用data uris。