它不像您发现的那样添加 CSS 文件那么容易。完成后npm install --save octicons
,如果您导航到以下文件夹
node_modules/ocicons/build/
你会发现一个名为的文件sprite.octicons-demo.html
,如果你打开它,它会告诉你你需要做什么。基本上,要完成这项工作,您唯一需要做的就是打开该文件,复制<svg>...</svg>
标签,将其粘贴到您的文件中,index.html
然后像这样访问图标
<svg version="1.1" width="32" height="32" viewBox="0 0 16 16" class="octicon octicon-alert" aria-hidden="true"><use xlink:href="#alert" /></svg>
其中大部分都包含在手册页中,因此您可能需要返回阅读它。你绝对应该看看它链接到的关于CSS-Tricks的文章
更新
当我匆忙写下上述答案时,我想回到这一点。虽然上述解决方案可行,但恕我直言,这是一个非常“肮脏”的解决方案。将 SVG 标记直接放入文档的最大缺点之一是它会呈现为一个大的空块级元素。当然,您可以通过将<svg></svg>
标签包装在类似的东西中来解决这个问题,<div style="display:none;"><svg>...</svg></div>
但是,再一次,这很脏(更不用说所有的内联 SVG 会弄乱您的源代码)。
相反,我发现像对待任何其他图像一样对待 SVG 图标要简单得多。如果您按照上述说明进行操作,<svg>...</svg>
请从文件中删除该块index.html
,然后转到显示图标的模板并将当前标记替换为以下内容
<svg width="32" height="32" class="octicon" aria-hidden="true"><use xlink:href="/node_modules/octicons/build/sprite.octicons.svg#alert" /></svg>
然后,您应该会看到警报图标显示为 32x32 图像。这里的两个区别是,除了指定所需的元素之外,您还提供了 svg 文件的相对路径,并且您没有定义viewBox
. 同样,CSS-Tricks 有一篇很好的文章解释了使用g
和symbol
定义 SVG 图标之间的区别;那篇文章清楚地说明了为什么我们不需要viewBox
在我们的内联元素上定义。