位置: 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官方代码测试自己的数据集(已训练完毕)】

  • 小米mix4怎么开性能模式(小米mix4怎么开启120w充电)

    小米mix4怎么开性能模式(小米mix4怎么开启120w充电)

  • 黑鲨4spro有红外吗(黑鲨4pro红外线)

    黑鲨4spro有红外吗(黑鲨4pro红外线)

  • vivo旧手机怎么导入新手机(vivo旧手机怎么导入荣耀新手机)

    vivo旧手机怎么导入新手机(vivo旧手机怎么导入荣耀新手机)

  • qq群怎么发全体通话(qq群怎么发)

    qq群怎么发全体通话(qq群怎么发)

  • 爱奇艺号怎么开通收益(爱奇艺号怎么开通原创)

    爱奇艺号怎么开通收益(爱奇艺号怎么开通原创)

  • 红米手表2支持nfc吗(红米手表2支持微信运动吗)

    红米手表2支持nfc吗(红米手表2支持微信运动吗)

  • 抖音评论区背景颜色怎么调(抖音评论区背景怎么调成白色)

    抖音评论区背景颜色怎么调(抖音评论区背景怎么调成白色)

  • 海拍客只能开店人用吗(海拍客入驻有保证金吗)

    海拍客只能开店人用吗(海拍客入驻有保证金吗)

  • 苹果8nfc功能怎么开启门禁卡(苹果8nfc功能怎么没有)

    苹果8nfc功能怎么开启门禁卡(苹果8nfc功能怎么没有)

  • 带命令提示符的安全模式怎么输入指令(带命令提示符的安全模式什么意思)

    带命令提示符的安全模式怎么输入指令(带命令提示符的安全模式什么意思)

  • 华为mate30pro手机天气怎么显示在桌面上(华为mate30pro手机壳)

    华为mate30pro手机天气怎么显示在桌面上(华为mate30pro手机壳)

  • &在excel函数中什么意思(excel函数中什么时候要加$符号)

    &在excel函数中什么意思(excel函数中什么时候要加$符号)

  • 5g双模手机有哪些(5g双模手机与5g手机的区别)

    5g双模手机有哪些(5g双模手机与5g手机的区别)

  • 目前最常用的计算机机箱类型为(目前最常用的计算机信息检索技术是)

    目前最常用的计算机机箱类型为(目前最常用的计算机信息检索技术是)

  • 淘宝退货最多多长时间(淘宝退货最多可以申请几次)

    淘宝退货最多多长时间(淘宝退货最多可以申请几次)

  • 手机里的承载系统选择哪一个(手机里的承载系统可以自己设置)

    手机里的承载系统选择哪一个(手机里的承载系统可以自己设置)

  • 如何查看电脑显卡内存(如何查看电脑显卡型号)

    如何查看电脑显卡内存(如何查看电脑显卡型号)

  • ipadair升级ios12卡吗(ipadair1升级到12很卡)

    ipadair升级ios12卡吗(ipadair1升级到12很卡)

  • 微信收款码在哪里弄(微信收款码在哪里申请免费的)

    微信收款码在哪里弄(微信收款码在哪里申请免费的)

  • qq币怎么赠送(qq币怎么转赠)

    qq币怎么赠送(qq币怎么转赠)

  • 笔记本电脑黑屏按哪三个键(笔记本电脑黑屏进入不了桌面怎么解决)

    笔记本电脑黑屏按哪三个键(笔记本电脑黑屏进入不了桌面怎么解决)

  • 如何解决无线网络故障(如何解决无线网络连接问题)

    如何解决无线网络故障(如何解决无线网络连接问题)

  • Win11 预览版全新画图升级:部分对话框获得现代主题风格(win11预览版选哪个)

    Win11 预览版全新画图升级:部分对话框获得现代主题风格(win11预览版选哪个)

  • Python如何使用tkinter编写GUI程序(python怎么用)

    Python如何使用tkinter编写GUI程序(python怎么用)

  • 新成立的公司不开户可以吗
  • 采购材料的进项税
  • 税收广度
  • 固定资产计提折旧计入什么科目
  • 一般纳税人开普票和专票有什么区别
  • 一千万人民币可以买多少斤黄金
  • 融资租赁购入固定资产的融资费用如何扣除
  • 费用化的研发支出
  • 即将发生坏事的预兆
  • 境外增值税代扣代缴
  • 资产负债表上的资产是原值还是净值
  • 税务注销交什么税
  • 企业税费计算
  • 参与工会职工应享受哪些福利待遇
  • 合伙企业转让股权需要其他股东同意吗
  • 高新企业研发费用占比要求
  • 固定报销额度算工资吗
  • 没有发票合法吗
  • 个人转租工厂需交什么税
  • 财务费用利息收入在损益表中怎么填
  • 小微企业免增值税到什么时候
  • 备件和耗材的定义
  • 公司收到境外付款的人民币
  • 税负率的计算方法公式
  • 冲减坏账准备和计提坏账准备
  • win7为什么显示多重网络
  • php中字符串函数
  • 共用水电无法取水怎么办
  • win7纯净版系统官网
  • 装饰工程公司主要做什么
  • 赠与房屋再次出售税费
  • vue调整图标大小
  • 有趣的css代码
  • 堡垒封印
  • 销售滞后税务处理
  • vue组件引入外部js
  • php如何实现自动加载
  • 代扣代缴增值税账务处理
  • zenity命令 显示图形框
  • 交易性金融资产是什么意思
  • 小规模纳税人进项税额怎么处理
  • 合伙企业的经营所得税率
  • 企业所得税如何征收
  • webpack怎么优化
  • 定期定额自行申报表
  • 哪些收入需要缴纳个人所得税
  • 一般纳税人公司出售旧车怎么开票
  • 材料报废属于正常损失吗
  • 代收代付保险费分录
  • 购入的设备用于研发怎样记账
  • 金税四期介绍 王军
  • 销售增长率计算公式财务管理
  • 按信用风险特征组合
  • 企业所得税的减免税额
  • 股票增值权个人可以买吗
  • 付款后没有发票怎么办
  • 印花税的通俗理解
  • 销售返利的会计处理方法
  • 备用金的支取流程图
  • 发票被认证
  • 服务费的进项发票怎么做分录
  • 开红字发票需要具备什么条件
  • ubuntul
  • win8.1 下载
  • optimize error by column count
  • linux批量处理
  • opengl csdn
  • exception继承
  • android使用教程
  • jquery mobile教程
  • python list set dict tuple
  • android 实例教程
  • 张孝祥西江月
  • opencv识别结果输出
  • 白云区嘉禾税务局地址
  • 酒席发票
  • 北京市国家税务局发票查询
  • 税务局风控
  • 湖北中税网控股股份有限公司
  • 美国各州地税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设