最近一直在更新Vue项目中配置及使用一些内置的方法,今天讲一讲Vue项目中使用iconfont图标库,不管是管理平台还是官网展示之类的显示页面,都会用到一些小图标,如果我们用img标签,那我们的资源库会非常的大,而且后期如果我们针对图标调整大小,改色等之类的操作,就需要用到Photoshop等专业类工具,上手困难不说,而且比较麻烦,下面就说下Vue使用iconfont图标库。
1.配置iconfont
首先要有个账号,用github关联就行,官网地址:
https://www.iconfont.cn/
登录成功,新建项目,我这里叫测试项目,这个FontClass前缀不要动,之后会用到
开始找我们需要用到的图标,添加到我们新建的项目中
生成可用文件,可以下载,然后在index.html里面引用,这里我们讲另一种方案,动态生成引用,
下面这个地址,是我们待会用到的
到这,iconfont图标库这块操作完了,接下来就是在我们的项目中使用这个图标库了。
2.项目使用iconfont
在我们的Vue项目public/index.html中加入如下代码
[class^="icon"] {
font-family: "iconfont" !important;
font-size: 18px !important;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
为了后期可能引用多个iconfont项目,我们新建文件,放在src/utils/config.js文件中,
/**
* 阿里iconfont配置
*
**/
let iconfontVersion = ['1825821_mblutuw3v5', '1135504_1ya3oa1kraz']
let iconfontUrlCss = `//at.alicdn.com/t/font_$key.css`
export {
iconfontUrlCss,
iconfontVersion,
}
还需要个动态插入css的方法
/**
* 动态插入css
*/
export const loadStyle = url => {
const link = document.createElement('link')
link.type = 'text/css'
link.rel = 'stylesheet'
link.href = url
const head = document.getElementsByTagName('head')[0]
head.appendChild(link)
}
在main.js文件中导入
// 动态生成css引用
import {
iconfontUrlCss,
iconfontVersion
} from '@/utils/config'
import {
loadStyle
} from './utils/util'
iconfontVersion.forEach(ele => {
loadStyle(iconfontUrlCss.replace('$key', ele))
})
这样,项目中就动态引入iconfont图标库,可以正常使用了,
class="iconquanping" style="height:30px;">i>