存储SVG图标的最佳实践是什么?

4
我正在使用HTML5/CSS3构建动态导航菜单,并添加了一些新功能。某些菜单节点将具有SVG图标,而其他节点则没有。在某些视图中,根据用户授权级别等不同方式呈现菜单级别。

因此,我的问题是:存储这些图标的最佳方法是什么?由于每个图标都与导航节点相关联,因此在数据库中存储SVG图标的XML是否合适?是否有任何好的建议?

我正在使用.NET MVC3 MSSQL,但这可能与本问题无关。

最好的问候

//K

3个回答

2

你并不需要将它们存储在数据库中。这些请求可能会稍微降低性能,并在某些情况下防止浏览器缓存。单独的文件可以更好地完成工作。

此外,你应该考虑一些方法来在一个文件中存储位图图标。类似于将所有SVG放入一个大文件中,并使用背景位置技巧,如本教程中所述。我没有尝试过SVG,但通过一些像背景大小这样的调整,这种方法应该能很好地完成任务。继续尝试。


2
你可以将所有图标存储在一个文件中。这个文件将包含所有的SVG符号定义。然后,你可以像这样在HTML中引用这些符号:
<svg class="icon-home">
  <use xlink:href="symbol-defs.svg#icon-home"></use>
</svg>

您可以在此了解更多有关该方法的信息:https://css-tricks.com/svg-sprites-use-better-icon-fonts/ 使用此方法,您的SVG可以被缓存,并且只需要一个HTTP请求来加载。
要使用此方法,请推荐使用IcoMoon应用程序。它允许您导入和选择SVG图标,并生成符号定义文件。

1

我会将它们存储为单独的文件。

客户端将缓存它们,如果需要更改文件,则更容易进行更改。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接