在vue3中使用iconfont图标和自定义的svg图标

简介: 在vue3中使用iconfont图标和自定义的svg图标

创建一个Icon组件,供自定义的svg图标使用和iconfont图标使用


<template>
  <svg class="icon">
    <use :href="id"></use>
  </svg>
</template>
<script>
import { defineComponent, ref } from 'vue'
export default defineComponent({
  name: 'Icon',
  props: {
    name: String,
  },
  setup(props) {
    const id = ref(`#${props.name}`)
    return {
      id,
    }
  },
})
</script>
<style>
.icon {
  width: 100%;
  height: 100%;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>


如何inconfont图标


  1. 访问iconfont官网,保存图标到自己创建的项目中,然后点击symbol的形式引入。


  1. 将js文件引入public/index.html中。


  1. 使用。直接通过class来控制图标样式和大小。class会直接绑定到Icon组件的根组件上。


<Icon name="icon-weixin" class="icon-weixin"></Icon>
  // 通过class来控制图标的样式
  .icon-weixin {
      width: 20px;
      height: 20px;
      color: red;
    }


定义和使用自定义图标


  1. 在public/index.html中设计svg图标。


<svg width="0" height="0">
    <defs>
      <symbol viewBox="0 0 100 100" id="iconRect">
        <rect x="0" y="0" width="100" height="100"></rect>
      </symbol>
    </defs>
  </svg>


  1. 使用。


<Icon name="iconRect" class="icon-rect"></Icon>
  // 通过class来控制图标的样式
  .icon-rect {
      width: 20px;
      height: 20px;
      color: red;
    }


网络异常,图片无法展示
|



相关文章
|
1天前
|
JavaScript 前端开发
iconfont 图标在vue里的使用
iconfont 图标在vue里的使用
|
1天前
|
前端开发 JavaScript API
Vue3 五天速成(下)
Vue3 五天速成(下)
26 1
|
1天前
|
JavaScript 前端开发 网络架构
Vue3 五天速成(中)
Vue3 五天速成(中)
11 1
|
1天前
|
Web App开发 缓存 JavaScript
Vue3 五天速成(上)
Vue3 五天速成(上)
12 2
|
2天前
vue3版本的爱心源码
vue3版本的爱心源码
4 0
|
2天前
|
XML JavaScript 前端开发
Vue3 项目中怎么使用 jsx——易懂
Vue3 项目中怎么使用 jsx——易懂
5 0
|
2天前
|
JavaScript
vue3 实现电子签名
vue3 实现电子签名
6 1
|
2天前
|
JavaScript
vue3表格编辑(数据回显)和删除功能实现
vue3表格编辑(数据回显)和删除功能实现
7 1
|
2天前
|
JavaScript
vue3中reactive和ref函数及对比
vue3中reactive和ref函数及对比
7 1
|
2天前
|
编译器
vue3组件TS类型声明实例代码
vue3组件TS类型声明实例代码
4 0