【发布时间】:2017-08-30 20:04:52
【问题描述】:
我知道这个问题可能被认为是基于意见的,但我还没有在网上找到任何答案,想知道每个解决方案的优缺点! 我想以 svg 格式显示徽标,但在以下之间犹豫了很多:
1- <img src="logo.svg" ... />: IE9+ 适合我
2- <a href="#" id="logo">Company</a> + 自己的css
3- <svg ...><path ...>: 1 个 HTTP 请求少 :D
哪一个最好,为什么?
非常感谢
【问题讨论】:
-
#1 需要
http请求。 #3 会使您的文档膨胀,因为它不会被缓存。使用#2。将 SVG 转换为 base64 并使用 CSS 将其设置为背景。这结合了缓存的好处并将您的总 http 请求减少了 1。 -
@Ihazkode 为什么#3 不使用缓存? .html 也应该被缓存。 b64 编码 -> 大小 x 1.34。对 OP:这将取决于每种情况,但单色图标的另一种可能性,如果你有很多是创建一个网络字体。
-
感谢大家的回复和反应:) 我还阅读了关于将图像设置为背景并将其转换为 base64 的内容,但这篇文章让我有点怀疑:dev.mobify.com/blog/data-uris-are-slow-on-mobile:S