美文网首页实用前端前端知识梳理
vue项目中引入字体库(icon)(详细步骤)

vue项目中引入字体库(icon)(详细步骤)

作者: _littleTank_ | 来源:发表于2018-01-05 16:46 被阅读3150次

总体来说vue引入第三方字体库不算什么难度,如果出错,很多情况下是我们没有注意到一些情况,比如类名冲突等等,导致达不到所需的效果。我们这里以阿里的IconFont图标库来一步步引入。

1、添加所需的图标入库

1.png

2、图标库里的图标库添加到新项目,起名test(按自己需求改),然后点击确定

添加到新项目.png

3、在我们添加的项目test里,点击编辑项目

编辑项目.png

3、在编辑项目里设置自己字体名称,然后点击保存

如果不设置唯一,很容易跟其他字体库名称冲突,所以这里建议设置自己熟知的名称(便于区别),我们这里加个了后缀-ali

字体名称.png

4、在我们的test项目里点击下载到本地

把字体项目下载到我们电脑,解压,把里面的问题复制到我们项目src/assets/icon文件夹下,如果没有此文件,自己创建(按自己需求创建起名)。这里我们把所有的文件都复制过来了,是因为为了以后方便别人活着自己查阅。


icon图标.png

5、打开icon字体文件下的iconfont.css,添加类名

[class^="icon-ali"], [class*=" icon-ali"] {
  font-family:"iconfont-ali" !important;
  /* 以下内容参照第三方图标库本身的规则 */
  font-size: 18px;
  font-style:normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

这里需要注意,第二个class前面有个空格!!!

6、在vue项目里运用

运用之前我们要先引入iconfont.css,最好在app.vue里我们全局引入这个文件,这样在其他页面就不需要r引入了。

<i class="icon-ali-shezi"></i>
<style>
  @import '~@/assets/icon/iconfont.css' //https://www.jianshu.com/p/901c7eaed40f
</style>

效果如下如:


设置图标.png

至于为什么 @import '~@/assets/icon/iconfont.css'能找到iconfont.css的地址,请参见:https://www.jianshu.com/p/901c7eaed40f这篇文章,很详细。

到此项目引入第三方图标库等于就完成了。

相关文章

网友评论

  • 梁同学de自言自语:```
    [WDS] Errors while compiling. Reload prevented.
    Module build failed: Error: Failed to find '~@/assets/iconfont/iconfont.css'
    ```
  • 59a0064ad16f:html文件和dem.css属于附加说明,可以不引用
  • b030319dabcf:你这个方法我用怎么不行呢,打包失败,错误提示:Failed to find '~@/assets/icon/iconfont.css'。 我一开始下载的是Unicode格式的,不是class格式的,在app.vue里script标签这样子引入import './assets/icon/iconfont.css',打包是没有问题的,我找新的方法,主要是我的图标在IE11下不显示,其它浏览器就没问题,但是用了你这个方法,打包都失败呢。。。兼容问题请问你知道吗?
    b030319dabcf:@_小坦克_ 开发和打包都不显示呢,默认阿里下载的图标已经做了兼容的了,代码我看了也做了兼容,和网上查的文章一样,但是就是不生效,在IE下还是报错状态,就是这种写法: @font-face {font-family: 'iconfont';
    src: url('iconfont.eot');
    src: url('iconfont.eot?#iefix') format('embedded-opentype'),
    url('iconfont.woff') format('woff'),
    url('iconfont.ttf') format('truetype'),
    url('iconfont.svg#iconfont') format('svg');
    }
    _littleTank_:ie11这个我没测试,可以肯定是兼容性问题,不知道你的图标在IE11下不显示是在开发环境不显示还是打包后不显示?

本文标题:vue项目中引入字体库(icon)(详细步骤)

本文链接:https://www.haomeiwen.com/subject/pidsnxtx.html