iconfont 图标库
iconfont 同样有海量免费的图标,同时支持上传自己的图标。公司项目通常会有自己的图标,由专业的 UI设计师 设计,这时通常会使用 iconfont 方式使用图标。
- 打开
阿里巴巴矢量图标库 iconfont,地址:https://www.iconfont.cn/,并登录。
- 打开
- 寻找需要的图标,加入项目,也可以上传自己的图标。



初次接触
iconfont的同学,可能会找不到自己的项目,如下图:资源管理 -- 我的项目

- 3.图标方式选择,如下图有
UnicodeFont classSymbol三种方式,分别预览和使用如下:



Unicode的方式太落后,语义化不明显,不推荐;Symbol的方式太先进(背后原理是生成了SVG雪碧图),先进到小程序和APP都不支持,只能无奈放弃。
Symbol的方式生成svg雪碧图,如下所示:
Font class则是我们最合适的选择,有Symbol一样的语义化(都是icon-xxx方式),引入和使用也方便(Symbol是一个js文件,Font class是一个css文件)。- 点击选中
Font class后再点击查看在线连接按钮,可以拿到一个css的链接,如 //at.alicdn.com/t/c/font_4032028_mbcuy517h6.css ,如果期间新加入了图标,记得点击更新链接,会重新生成一个链接,只有最后面一串 hash 有改变,并且旧的链接依然可以访问。
- 点击选中

我们使用的是 Font class 的方式,只需要这一个 css 链接就行,无需 下载至本地,想要本地预览的话才需要 下载至本地。
iconfont有默认的前缀icon-,可以设置为其他的,如我的一个项目设置为bap-icon-,以防跟其他的冲突。

注意
uniapp项目拿到css链接放到index.html是不对的,这样做只在h5中生效,小程序和APP都不生效,正确的做法是放到代码里面显示引入。下面会讲:
- 4.在
style/index.scss中写上上面的css链接里面的内容(style/index.scss已经在main.ts引入了,unibest模板已经内置),如下
注意:
url(//at.alicdn.com)里面的路径要改为url(https://at.alicdn.com),因为 APP 里面//是文件协议。 —— 设定https协议
css
@font-face {
font-family: iconfont; /* Project id 4032028 */
src:
url('//at.alicdn.com/t/c/font_4032028_mbcuy517h6.woff2?t=1713685013355') format('woff2'),
url('//at.alicdn.com/t/c/font_4032028_mbcuy517h6.woff?t=1713685013355') format('woff'),
url('//at.alicdn.com/t/c/font_4032028_mbcuy517h6.ttf?t=1713685013355') format('truetype');
}
.iconfont {
font-family: iconfont !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-facebook::before {
content: '\e87d';
}
.icon-twitter::before {
content: '\e646';
}
.icon-telegram::before {
content: '\f245';
}- 编写代码,
<i class="iconfont icon-facebook"></i>
- 编写代码,

- 预览,
h5端正常,APP 端不正常,小程序端看着正常,控制台也会报错,如下图:
- 预览,

- 这个怎么处理呢?转成
base64是最快捷的,iconfont本身就支持,3步搞定:
7.1 如下图,勾选
Base64
7.2 生成新链接,并得到新的
css代码

- 7.3 引入新代码,刷新界面,小程序不报错了,APP 也正常了!

- 这个怎么处理呢?转成
