vue2使用 iconfont 阿里巴巴在线生成的字体图标
约 830 字大约 3 分钟
2025-08-01
官方文档:Web 端使用
demo 地址:custom-font-file
准备工作
- 选择合适的图标,加入购物车
- 点击购物车,把图标加入项目(如果没有项目则新建一个)
- 注意:项目中新增了图标后,需要重新“下载到本地”,然后替换所需文件
font-class
引用
进入“我发起的项目”,选择项目,切换选项卡为“Font class”
点击“下载到本地”,下载一个压缩包,解压
压缩包内的文件有很多,但我们需要的只有:
iconfont.css iconfont.ttf iconfont.woff iconfont.woff2
把上面四个文件放入项目
assets
下,可以分开放,也可以放在一起把
src
中的url
换成本地文件的地址( 原因:icon-font 图标介绍 )修改代码
App.vue // icon-xxx 去项目里复制代码名字 <i class="iconfont icon-xxx" style="color:blue"></i> <style scoped> @import "../assets/css/iconfont.css"; </style>
如果需要修改 iconfont 的大小和颜色, 可在 iconfont.css 中修改,font-size 控制大小,color 控制颜色。
symbol 引用
- 进入“我发起的项目”,选择项目,切换选项卡为“Font class”
- 点击“下载到本地”,下载一个压缩包,解压
- 压缩包内的文件有很多,但我们需要的只有:
iconfont.js
- 把 js 文件放入项目 assets 下
- 修改代码
App.vue
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-xxx"></use>
</svg>
mounted() { require("../assets/js/iconfont"); },
<style type="text/css">
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: red;
overflow: hidden;
}
</style>
如果需要修改 iconfont 的大小和颜色, 可在 .icon 中修改,width、height 控制大小,fill 控制颜色。
注意
symbol
引用时,有的图标不能换颜色。- 引入
symbol
后最好重启一下,有时候会报错“某个字母 assigned to itself
” ,如'l' is assigned to itself no-self-assign
全部代码
font-class
<template>
<div>
<div>vue中使用 iconfont 阿里巴巴在线生成的字体图标 -- font class</div>
<p>用 color 指定颜色</p>
<hr />
<i class="iconfont icon-iconfont5" style="color:blue"></i>
<i class="iconfont icon-iconfontxingxing"></i>
<i class="iconfont icon-iconfontmingpian"></i>
<i class="iconfont icon-iconfontriyongbaihuo"></i>
<i class="iconfont icon-iconfontshipin"></i>
<i class="iconfont icon-iconfontwujingongju"></i>
<i class="iconfont icon-iconfontyundonghuwai"></i>
<i class="iconfont icon-iconfontgongyichongwu"></i>
<i class="iconfont icon-iconfontyundonghuwai"></i>
<i class="iconfont icon-iconfontphone"></i>
<i class="iconfont icon-iconfont-shanzi"></i>
</div>
</template>
<script></script>
<style scoped>
@import "../assets/css/iconfont.css";
i {
margin: 5px;
font-size: 50px;
color: red;
}
</style>
symbol
<template>
<div>
<div>vue中使用 iconfont 阿里巴巴在线生成的字体图标 -- symbol</div>
<p>用 fill 指定颜色</p>
<hr />
<svg class="icon" aria-hidden="true" style="fill: green">
<use xlink:href="#icon-iconfont5"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontxingxing"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontmingpian"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontriyongbaihuo"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontshipin"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontwujingongju"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontgongyichongwu"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontyundonghuwai"></use>
</svg>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfontphone"></use>
</svg>
<!-- 扇子图形本身不能变色 -->
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-iconfont-shanzi"></use>
</svg>
</div>
</template>
<script>
export default {
mounted() {
require("../assets/js/iconfont");
},
};
</script>
<style type="text/css">
.icon {
width: 4em;
height: 4em;
margin: 5px;
vertical-align: -0.15em;
fill: red;
overflow: hidden;
}
</style>