我想知道我是否可以在一个SVG文件中创建多个“画笔”并在我的CSS中使用它们。
现在我有一个SVG文件,其中有一个存储在“defs”中的渐变和一个绘制它的矩形。然后我将这个SVG文件用作我的CSS中的背景图像。它运作良好,但我宁愿没有一百万个独立的SVG文件。我想在单个SVG文件中将“画笔”组合在一起,就像CSS sprites或XAML一样。
有办法做到这一点吗?如果是这样,为CSS背景图像指定哪个SVG元素来使用svg文件的语法是什么?
感谢您的帮助。
答案 0 :(得分:4)
理论上是的,这应该是可能的。它尚未在w3c规范中完全定义,并且实现在此阶段确实有所不同。
请注意,svg本身允许special fragment syntax,因此理论上您应该能够链接到同一svg文件的不同视图。这可以用来做CSS / SVG精灵。
直接链接到嵌套的svg片段的id(或svg中的任何其他元素)是需要进一步指定的。
假设链接来自CSS背景属性的片段有效,那么使用XHTML(将结果文件作为application / xhtml + xml提供)的可能性就是在主文档中直接包含svg资源,从而消除了需要对于许多单独的文件。如果您希望将svgs保持独立以进行编辑,则可以将其作为预发布构建步骤来完成。另一种可能性是使用data uris。
答案 1 :(得分:1)
我也在寻找同样的东西,以下是我能找到的指示:
根据caniuse.com的说法,浏览器支持存在问题,但这并不妨碍您尝试观察未来的浏览器演变(希望将来他们都支持这一显而易见的功能)。