对于特定示例,绘制以不同颜色在网站的不同部分中使用的基本形状和图标。我应该使用svg还是sprite?
但是询问是否有一个标准答案。
答案 0 :(得分:1)
使用SVG比使用sprite有很大的优势,特别是在正确实现时。 SVG在所有浏览器之间具有良好的兼容性。
SVG是一种可以无限放大的矢量形状,而你必须有几个精灵用于不同的密度显示 - 作为旁注,只有一个高分辨率的精灵,然后使用背景将其缩小 - 大小在所有留下工件的浏览器中都不能很好地扩展。
SVG sprites可以内联使用,减少HTTP调用 - 取决于您使用的语言/框架,SVG可以使用插件/插件进行内联 - 例如在ember中。
您还没有指定您正在谈论的形状,但如果我们谈论的是单色形状,那么您可以使用像icomoon这样的工具将所有SVG文件导入到一个Icon字体中文件。所以你有一个HTTP调用来获取字体,就像你用精灵一样。作为额外的奖励,可以使用CSS color
属性更改图标的颜色;所以只有一个图标,您可以使用CSS而不是精灵进行多次不同颜色的迭代,在将它们实现为精灵之前,您必须先设计不同的迭代。
性能方面,我认为现在它并不重要,除非我们讨论的是与图像精灵相比的数百个SVG。即使速度较慢,它也只会出现在“纸张”上。并且用户无法识别差异。