【发布时间】:2016-07-30 07:24:17
【问题描述】:
我正在使用来自Chris Coyer的这个例子
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" mlns:xlink="http://www.w3.org/1999/xlink" style="display: none;">
<defs>
<g id="icon-image">
<path class="path1" d="M0 4v26h32v-26h-32zM30 28h-28v-22h28v22zM22 11c0-1.657 1.343-3 3-3s3 1.343 3 3c0 1.657-1.343 3-3 3-1.657 0-3-1.343-3-3zM28 26h-24l6-16 8 10 4-3z"></path>
</g>
</defs>
</svg>
<h1>
<svg viewBox="0 0 32 32">
<use xlink:href="#icon-phone"></use>
</svg>
Call me
但是,我希望路径定义不在 html 中,因为它们将在整个应用程序中使用。
这可能吗? (注意:我已经阅读了建议 javascript 将 svg 手动注入 html 的答案。我也不想这样做。)
我知道嵌入/链接 SVG 路径和文件的方法有很多。我都试过了。特别是,我需要能够将其设置为 currentColor。正如blog post 中详细介绍的那样,这无法通过外部 SVG 文件完成,然后在 img 标签中使用。
所以我发现最接近的就是上面的这个例子。但是,我仍然不希望将路径嵌入到 html 中。如果我能以某种方式将它放在某种类型的外部文件中以便它可以重复使用,那就太好了。
【问题讨论】:
-
我读过这个问题,但我没有看到适用于此的答案。
-
为什么不把你的 SVG 图标转换成字体呢?
-
另一种选择是制作 SVG 精灵并使用数据 uri 将其与 CSS 一起加载
-
@LGSon 你如何转换成字体?这听起来是个好主意!