解决iconfont图标symbol引用方式,图标不显示及不能变色的问题

symbol引用方式的操作步骤

导语

近期开发物流项目,图标以symbol的引入方式,图标创建后,无法改变颜色,
查看了一下dom解析后为svg的,试着通过改变svg的fill属性改变颜色,但不起作用,
试着改变图标的颜色,究其原因为,结果发现.js文件中都加了fill,并且在项目图标库中根本无法辨认图标
又试着图标批量去色,结果发现成功了,这是根本,只有在图标去色后才能改色。

iconfont.cn创建图标

1.注册网站的账号
2.创建项目 默认的选项
多色和svg 务选

 若选择可能会导致
 <i class="iconfong icontubiaoming">不能变色
 <IconFont type="icontubiaoming" class="" />这种可以

3.选择图标,加入购物车,添加到项目,生成代码。
4. 批量操作=》选择图标=》图标去色
一定要去除图标的颜色,这是重点,否则无法变色

图标symbol引用

1.Font class 引入css

// 引入css
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_4137749_180leweo1kf.css">

2.Symbol,在main.js中引入js

// 引入icon
import Antd, { message, Icon } from 'ant-design-vue';
// 创建icon图标
const IconFont = Icon.createFromIconfontCN({
  scriptUrl: '//at.alicdn.com/t/c/font_4137749_180leweo1kf.js',
});
// 挂载实例
Vue.component('IconFont', IconFont);
Vue.use(Antd);

3.使用图标
方法一:i标签引入 改color

// iconpyqianbao 为图标的类型 
// wallet-icon 为图标的样式
<i class="iconfont iconpyqianbao wallet-icon margin-right-10"></i>
// wallet-icon 为图标的样式
.wallet-icon {
   font-size: 24px;		// 控制大小
   color: #f9a62b;		// 设置颜色
   vertical-align: sub;	// 对齐
 }

方法二:iconfont方式 改fill

// iconfont方式
<span slot="title" class="icons-list">
	// type为图标的名,对应iconfont.cn的图标名
	// style是设置图标的样式
   <IconFont v-if="menuInfo[fieldNames.icon]"
   :type="menuInfo[fieldNames.icon]"
   :style="{ fill:'red', fontSize:'18px' }"
    />
   <span>{{ menuInfo[fieldNames.label] }}</span>
 </span>
// 样式
<style lang="less" scoped>
.icons-list .anticon {
  // margin-right: 8px;
  // font-size: 17px;
  vertical-align: middle;
  /deep/ svg{
    fill: white !important;
  }
}
</style>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值