将svg文件化成字体图标的步骤
一 前提摘要
有一个活就是按照需求在现有的项目中新增几个项目和修改几个项目,是很简单的,但当中遇到了一个小问题,就是tabs中图标选中和被选中的颜色问题,如果是新开发的,目前掌握的有两种办法,比如准备两个类型一样颜色不一样的图片,选中时图片隐藏和显示。另一种就是字体图标,在iconfont找到相应的图标,直接应用。但是在原来的基础上进行添加图标,原项目上用的是字体图标的形式,也不知道已存在的图标库,如果重新在iconfont里找太麻烦。前段时间看到svg,突发奇想,可不可以将svg转成字体图标,于是上网搜了一下,学习并记录了下来。
二 步骤流程
第一步:找ui将psd上的图标转化为单个svg格式的图标,另外自己也可以在psd上弄(这个后续学习)。
第二步:打开icomoon网站 ( https://icomoon.io) 点击右上角的IconMoon App
![](https://app.yinxiang.com/shard/s71/res/f3b86267-8ce2-47e0-a173-9d6bcf6d7b29/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.23.34.png)
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132008846-1204872433.png)
第三步:点击左上角的的Import Icons,将所有的svg格式的文件导入。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132033389-1867383741.png)
eg:如果svg格式不对的话,导入时会显示空白,如下图
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132252415-630650930.png)
![](https://app.yinxiang.com/shard/s71/res/1fe5a0de-775b-4de0-be34-fe3a86451b8b/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.29.50.png)
![](https://app.yinxiang.com/shard/s71/res/5f61bc50-7825-4ba2-b55b-8799a89d9ba8/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.30.00.png)
第四步:选中想要的svg的文件。
![](https://app.yinxiang.com/shard/s71/res/fa3162de-6877-4fdf-83a8-67c482934264/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.32.45.png)
第五步:点击右下角的Generate Font
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132320258-2124043407.png)
![](https://app.yinxiang.com/shard/s71/res/27602b95-4730-44eb-b09c-31768c724160/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.33.59.png)
第六步:图标对应的名称和编码可以更改,默认的也可以用。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132413588-1215043738.png)
![](https://app.yinxiang.com/shard/s71/res/e6afb003-f19c-42fa-8ab6-aff73a6b997e/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8811.05.53.png)
第七步:点击右下角的Download。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132425994-13628410.png)
![](https://app.yinxiang.com/shard/s71/res/872d2a4c-85cf-40cf-a57a-626ecf11b4d1/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8811.05.59.png)
第八步:解压,之后将style.css移到font文件夹中去,并且修改路径。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132513114-544592625.png)
ps:fonts文件夹中有好几个类型的文件,代表的是不同浏览器的支持。
IE浏览器:EOT
Mozilla浏览器:OTF,TTF
Safari浏览器:OTF,TTF,SVG
Opera:OTF,TTF,SVG
Chrome浏览器:TTF,SVG
![](https://app.yinxiang.com/shard/s71/res/351dd624-a804-47a4-ad4b-9146e0c18409/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.41.58.png)
第九步:为了避免和原有的图标造成冲突,我们把这个font文件夹重命名为iconfont。放到vue项目中的assets中。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132531290-1302467508.png)
![](https://app.yinxiang.com/shard/s71/res/71c7a313-8683-47d8-9695-2d2cc95e1a1d/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.45.24.png)
第十步:在app.vue中css导入这个style.css。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132548120-371973633.png)
![](https://app.yinxiang.com/shard/s71/res/2ff6ef2c-77ea-4034-8244-092015d370fb/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.53.13.png)
第十一步:通过style.css在vue文件中可以添加这个类名来调用这个字体图标了。
![](https://img2018.cnblogs.com/blog/1211722/201812/1211722-20181229132605855-494018478.png)
eg:字体图标就相当与字体一样,可以为其添加颜色。
![](https://app.yinxiang.com/shard/s71/res/1796ac7c-1dca-4194-be57-74c1d8e43752/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.54.25.png)
第十二步:成功!
![](https://app.yinxiang.com/shard/s71/res/a74127b3-8965-4c1d-a709-bebfc29361e8/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202018-11-19%20%E4%B8%8B%E5%8D%8810.54.52.png)
三 总结
这个是在vue项目上添加的,可以在其他项目上这样运用。字体图标,灵活可变,项目中尽量能用就用这个,既能像字体一样使用,又能svg样放大缩小不失真。