uni-app使用iconfont自定义图标

2020-02-23 22:12:26

记录下如何在uni-app中使用自定义图标

图标库准备

1.注册阿里巴巴图标矢量库账号
2.选择顶部菜单图标管理-我的项目后新建项目
3.在新建的项目中添加自己喜欢的图标
4.点击查看在线链接,获取在线图标链接代码

如果没有链接则根据提示生成在线链接代码

获取生成后的链接代码

uni-app组件修改

基于官方的m-icon组件进行修改
m-icon.css中font-face的src修改为自己图标库在线链接里truetype格式的链接


@font-face {
	font-family: uniicons;
	font-weight: normal;
	font-style: normal;
	src: url('自定义图标库的在线链接.ttf') format('truetype');
}

.m-icon {
	font-family: uniicons;
	font-size: 48upx;
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	display: inline-block;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
}

.m-icon.uni-active {
	color: #007aff;
}

.m-icon-图标名称:before {
	content: "\e6af";//在网页上查看自己图标对应的unicode编码
}

m-icon.vue文件不用作额外修改


<template>
	<view class="m-icon" :class="['m-icon-'+type]" :style="{color:color,'font-size':fontSize}" @click="onClick()"></view>
</template>

<script>
export default {
  props: {
    /**
      * 图标类型
      */
    type: String,
    /**
      * 图标颜色
      */
    color: String,
    /**
      * 图标大小
      */
    size: {
      type: [Number, String],
      default: 24
    }
  },
  computed: {
    fontSize() {
      var size = Number(this.size)
      size = isNaN(size) ? 24 : size
      return `${size}px`
    }
  },
  methods: {
    onClick() {
      this.$emit('click')
    }
  }
}
</script>

<style>
	@import "./m-icon.css";
</style>

页面引用组件

在页面中引入修改后的图标组件


<m-icon type="图标名称" color="#757575" size="10"></m-icon>

import mIcon from '@/components/m-icon/m-icon.vue';
export default {
	components: {
		mIcon
	},
  ...
}
本文链接:

评 论:

博主推荐
微信扫码关注「极客之路」
领取学习礼包