位置: IT常识 - 正文

vue3使用svg图标多种方式(vue引用svg矢量图)

编辑:rootadmin
vue3使用svg图标多种方式

推荐整理分享vue3使用svg图标多种方式(vue引用svg矢量图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue svga,vue中使用svg图标,vue3 svg,vue-svg-loader,vue中使用svg图标,vue svgicon,vue3 svg,vue3 svg,内容如对您有帮助,希望把文章链接给更多的朋友!

方式1使用在线链接访问 在iconfont找到自己的项目的图标选择Symbol获取在线链接 2:在vue3项目中找到public的index.html进行script进行引入

打开浏览器看:这样就会自动注入到body下

在项目直接使用

//控制图标的大小 <svg style="width: 10px; height: 10px"> <use href="#icon-shanchu"></use> </svg>

显示出了删除的图标

封装的写法(上面的代码写着太重复下面进行封装) 1:新建一个专门获取svg图标的组件 icon.vue (svg/index.vue)

<template> <div> <svg :style="style"> <use :href="names"></use> </svg> </div></template><script setup>import { defineProps, withDefaults } from "vue";const props = defineProps({ name: { type: String, default: "", }, style: { type: Object, default: () => { return { width: 10, height: 10, color: "", }; }, },});const names = `#${props.name}`;</script><style lang="scss" scoped></style>vue3使用svg图标多种方式(vue引用svg矢量图)

需要显示图标的界面

<template> <div class="home"> <icon :style="{ width: 10, height: 10, color: 'red' }" name="icon-shanchu" ></icon> <icon :style="{ width: 10, height: 10, color: 'red' }" name="icon-shanchu" ></icon> </div></template><script setup>import { ref } from "vue";import icon from "../assets/svg/index.vue";</script><style lang="scss"></style>

假如你既引用了iconfont的图标也自定义了图标:直接放在一起根据传输的name指定使用哪一个图标 icon.vue (svg/index.vue)

<template> <div> <svg :style="style"> <use :href="names"></use> </svg> // 自定义的图标 <svg width="0" height="0"> <defs> <symbol id="more" viewBox="0 0 100 100"> <circle r="5" cx="20" cy="25" fill="transparent" stroke="green" ></circle> <circle r="5" cx="20" cy="50" fill="currentColor"></circle> <circle r="5" cx="20" cy="75" fill="currentColor"></circle> <line x1="40" y1="25" x2="90" y2="25" stroke-width="8" stroke="currentColor" ></line> <line x1="40" y1="50" x2="90" y2="50" stroke-width="8" stroke="currentColor" ></line> <line x1="40" y1="75" x2="90" y2="75" stroke-width="8" stroke="currentColor" ></line> </symbol> </defs> </svg> </div></template><script setup>import { defineProps, withDefaults } from "vue";const props = defineProps({ name: { type: String, default: "", }, style: { type: Object, default: () => { return { width: 10, height: 10, color: "", }; }, },});const names = `#${props.name}`;</script><style lang="scss" scoped></style>

使用:

<template> <div class="home"> <icon :style="{ width: 10, height: 10, color: 'red' }" name="icon-shanchu" ></icon> <icon :style="{ width: 10, height: 10, color: 'red' }" name="icon-shanchu1" ></icon> <icon :style="{ width: 20, height: 20, color: 'red' }" name="more"></icon> </div></template><script setup>import { ref } from "vue";import icon from "../assets/svg/index.vue";</script><style lang="scss"></style>

假如你是复制的iconfont官网的图标svg的代码:

你直接cv到项目也可以直接使用:

<svg t="1673881805558" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1076" width="200" height="200" > <path d="M658.276045 767.993958 658.276045 274.295l329.126 0L987.402045 219.44 658.276 219.44l0-18.281c0-80.787046-65.492992-146.284032-146.276045-146.284032-80.790016 0-146.276045 65.496986-146.276045 146.284032l0 18.281L36.597 219.44l0 54.855 109.695 0 0 694.83L877.7 969.125l0-548.55-54.855 0L822.845 914.27l-621.69 0L201.155 274.295l164.569 0 0 493.699 54.848 0L420.572 274.295l182.85 0 0 493.699L658.276 767.994zM420.571034 219.440026l0-18.281c0-50.492006 40.932966-91.420979 91.428966-91.420979 50.489037 0 91.420979 40.928973 91.420979 91.420979l0 18.281L420.571 219.440026z" p-id="1077" ></path> </svg>

效果如下:

我们还可以把上面的代码进行改造直接使用在 icon.vue (svg/index.vue)改造

<template> <div class="home"> <icon :style="{ width: 10, height: 10, color: 'red' }" name="icon-shanchu" ></icon> <icon :style="{ width: 10, height: 10, color: 'red' }" name="icon-shanchu1" ></icon> <icon :style="{ width: 20, height: 20, color: 'red' }" name="more"></icon> <svg t="1673881805558" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1076" width="200" height="200" > <path d="M658.276045 767.993958 658.276045 274.295l329.126 0L987.402045 219.44 658.276 219.44l0-18.281c0-80.787046-65.492992-146.284032-146.276045-146.284032-80.790016 0-146.276045 65.496986-146.276045 146.284032l0 18.281L36.597 219.44l0 54.855 109.695 0 0 694.83L877.7 969.125l0-548.55-54.855 0L822.845 914.27l-621.69 0L201.155 274.295l164.569 0 0 493.699 54.848 0L420.572 274.295l182.85 0 0 493.699L658.276 767.994zM420.571034 219.440026l0-18.281c0-50.492006 40.932966-91.420979 91.428966-91.420979 50.489037 0 91.420979 40.928973 91.420979 91.420979l0 18.281L420.571 219.440026z" p-id="1077" ></path> </svg> //改造好了直接使用 <icon :style="{ width: 20, height: 20, color: 'red' }" name="icon"></icon> </div></template><script setup>import { ref } from "vue";import icon from "../assets/svg/index.vue";</script><style lang="scss"></style>

本文链接地址:https://www.jiuchutong.com/zhishi/293156.html 转载请保留说明!

上一篇:Vue实现生成二维码(vue生成二维码分享)

下一篇:【swinUnet官方代码测试自己的数据集(已训练完毕)】

  • 独资企业赚的钱全是老板的吗
  • 城建税的征税范围不包括农村对不对
  • 税前扣除项目包括
  • 银行应发贷款和实际收到的贷款为什么不一致
  • 电子承兑被退回在哪里
  • 计提工资附什么单据
  • 购货方收到红字发票
  • 资产负债表其他应付款计算公式
  • 已付的账款叫什么
  • 汇票退回会计分录怎么写
  • 供应商给的折扣比发票少怎么做账
  • 行政单位应缴预算款的管理原则
  • 工会发放节日慰问
  • 企业购入旧固定资产如何计提折旧
  • 砂石加工行业交什么税
  • 预缴税款个人所得税如何计算
  • 年终奖缴税将有大变化
  • 过节时单位发的奖金
  • 成本费用包括哪些包括外购材料吗
  • 往来款项分为哪两类
  • 预付款能开发票吗?
  • 非流动资产基金对应哪个会计科目
  • 财务会计中关于坏账损失的账务处理
  • win10专业版激活密钥永久2023
  • 苹果最强机型
  • win10错误代码0xc0000001
  • 销售需要安装的商品,只能在安装和检验完毕后确认收入
  • 土地投资入股是否缴纳土地增值税12366
  • CI(Codeigniter)的Setting增强配置类实例
  • 记账凭证的总账科目是什么
  • 当年盈余资金计算公式
  • 企业所得税的特殊优惠
  • the模板引擎
  • 存货什么时候计提什么时候回转
  • 出口退税款的账务怎么做
  • 装修阶段监理注意事项
  • 用python编写素数
  • 购买房屋用于出租属于投资行为吗
  • 增值税进项税加计抵减
  • 织梦如何使用
  • mysql安装配置教程csdn
  • 政府返还的个税手续费会计分录
  • 去参加博览会的英文
  • sql分组计算
  • 债权人债务重组损益计入什么科目
  • 待报解预算收入是什么
  • 每月工资不一样怎么算误工费呢
  • 进项税金抵扣
  • 餐厅吃饭不小心把餐具打破需要赔吗?
  • 个体户如何做账?
  • 企业收到个体户的普通发票还需要缴纳20%的税吗
  • 在建工程的成本包括应交增值税吗
  • 保函保证金怎么入账
  • 涉外收入申报单盖章
  • 买卖股票手续费怎么算
  • 电商行业的采购
  • 企业支付宝收款码是进公账吗
  • 航天金税服务费发票在哪打印
  • 货拉拉平台运费没有结打不通电话怎么办
  • 长期待摊费用如何做分录
  • 应收帐款坏账处理
  • centos6.0安装教程
  • mac新手必看教程
  • win7的打开方式在哪里
  • cocos2dx菜鸟教程
  • node. js教程
  • 详解九章算法
  • gridview用法
  • 简单的jquery插件实例
  • python crc
  • jquery easyui从零开始学pdf
  • android客户端与服务器通信
  • js 上下文
  • 酒吧要交国税还是省税
  • 临时工工资需要申报吗
  • 有机肥料销售是做什么的
  • 无偿转让股权要交税吗
  • 陕西国税电子税务局app
  • 异地户口如何办理护照
  • 农机作业服务费用 如何开发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设