位置: IT常识 - 正文

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

发布时间:2024-01-12
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官方代码测试自己的数据集(已训练完毕)】

  • 如何找到已经删除的微信好友(如何找到已经删除的qq好友)

    如何找到已经删除的微信好友(如何找到已经删除的qq好友)

  • vivox60卡槽怎么打开(vivox60手机卡槽在哪里)

    vivox60卡槽怎么打开(vivox60手机卡槽在哪里)

  • 苹果12怎么开启5g网络(苹果12怎么开启5g网络怎么还是4g)

    苹果12怎么开启5g网络(苹果12怎么开启5g网络怎么还是4g)

  • 华为荣耀20用的啥屏(华为荣耀20用的什么芯片)

    华为荣耀20用的啥屏(华为荣耀20用的什么芯片)

  • 京东以旧换新是先拿新手机吗(京东以旧换新是什么意思)

    京东以旧换新是先拿新手机吗(京东以旧换新是什么意思)

  • 微信在什么情况下会被限制登录(微信在什么情况下不能转账和发红包)

    微信在什么情况下会被限制登录(微信在什么情况下不能转账和发红包)

  • 苹果11下面两个喇叭为什么只会响一个(苹果11下面两个喇叭没有声音)

    苹果11下面两个喇叭为什么只会响一个(苹果11下面两个喇叭没有声音)

  • 按键精灵手机助手EXITDO和ENDIF前后的区别(按键精灵手机助手教程)

    按键精灵手机助手EXITDO和ENDIF前后的区别(按键精灵手机助手教程)

  • 浏览器模式怎么改模式(浏览器模式怎么改成极速模式)

    浏览器模式怎么改模式(浏览器模式怎么改成极速模式)

  • 抖音在桌面上找不到了(抖音在桌面上找不到了怎么办)

    抖音在桌面上找不到了(抖音在桌面上找不到了怎么办)

  • 板u套装是什么意思(什么叫板u套装)

    板u套装是什么意思(什么叫板u套装)

  • 负极电势高还是正极(负极电势高于正极)

    负极电势高还是正极(负极电势高于正极)

  • 用友软件怎样删除凭证(用友软件怎样删除记账凭证)

    用友软件怎样删除凭证(用友软件怎样删除记账凭证)

  • 哔咔在苹果商店叫什么(哔咔苹果app)

    哔咔在苹果商店叫什么(哔咔苹果app)

  • 苹果11能分屏吗(苹果13怎么分屏)

    苹果11能分屏吗(苹果13怎么分屏)

  • 小米智能出行是个什么软件(小米智能出行功能在哪里打开)

    小米智能出行是个什么软件(小米智能出行功能在哪里打开)

  • oppor9呼吸灯怎么弄(oppor9splus呼吸灯)

    oppor9呼吸灯怎么弄(oppor9splus呼吸灯)

  • 如何把单元格合并(如何把单元格合并成一个单元格)

    如何把单元格合并(如何把单元格合并成一个单元格)

  • mac怎么滚动截屏(mac电脑怎么滚动截屏)

    mac怎么滚动截屏(mac电脑怎么滚动截屏)

  • 腾讯vip怎么解绑手机号(腾讯vip怎么解绑qq号)

    腾讯vip怎么解绑手机号(腾讯vip怎么解绑qq号)

  • 校园网记录谁可以查看(校园网记录什么信息)

    校园网记录谁可以查看(校园网记录什么信息)

  • 8p前摄像头为什么模糊(8p前摄像头为什么不清晰)

    8p前摄像头为什么模糊(8p前摄像头为什么不清晰)

  • 小米e55a和e55c区别(小米e55a和e55x)

    小米e55a和e55c区别(小米e55a和e55x)

  • 对方微信没有相册一栏(对方微信没有相册怎么办)

    对方微信没有相册一栏(对方微信没有相册怎么办)

  • bios没有usb启动项如何是好?bios设置usb启动项的方法图文教程(bios里头没有usb功能怎办)

    bios没有usb启动项如何是好?bios设置usb启动项的方法图文教程(bios里头没有usb功能怎办)

  • Services.exe是什么系统文件?如何辨别services.exe是否为病毒?(service.exe是什么进程)

    Services.exe是什么系统文件?如何辨别services.exe是否为病毒?(service.exe是什么进程)

  • bdmcon.exe是什么进程 bdmcon进程有何作用(bds.exe)

    bdmcon.exe是什么进程 bdmcon进程有何作用(bds.exe)

  • 代销返点怎么交税费
  • 待认证进项税账务处理
  • 广告公司个人所得税几个点
  • 应收利息和利息收入的关系
  • 培训产生的费用
  • 建筑工地加油计入什么科目
  • 残疾证挂靠一年多少钱
  • 公司刚注册之后怎么办
  • 企业减免的所得税税率
  • 债权如何变现
  • 发票金额小于入库金额
  • 联营和合营的区别
  • 以前年度的负债没挂账怎么办
  • 小规模纳税人开专票税率是1%还是3%
  • 选择简易征收可以开专票吗
  • 支付网银年费计入什么科目
  • 已认证抵扣的进项税额转出做账的会计处理
  • 社会保险费的征收程序
  • 能开运费发票吗?
  • 出口退免税的基本政策包括
  • 苹果电脑如何查看内存大小
  • linux系统怎么访问共享文件夹
  • 苹果推送改不掉三全音
  • 苹果icloud储存空间怎么查看内容
  • php中strcmp函数
  • 键盘灯无法开启
  • 如何修改选区边缘
  • win10商店下载错误怎么回事
  • 跨年的定额发票可以用吗
  • 如何暂停win11更新
  • 工程施工与工程结算会计科目
  • .exe是什么软件
  • 应交营业税计算公式
  • 企业提取盈余公积会引起所有者权益变动吗
  • ts基础
  • 查看redis节点
  • 毫米波雷达的硬件构成
  • vue2vue3的区别
  • php公众号推送完整示例
  • 命令行 压缩
  • 财务费用的利息费用怎么算
  • 税务自查报告要盖什么章
  • 发票作废冲红怎么做账
  • 电费发票查不到
  • 所得税包含哪些项目
  • 房子是固定资产的好处
  • 工程主营业务收入
  • 快递公司账务处理流程及方法总结
  • 表单上传文件
  • 母公司给我们减工资
  • 新准则经营租赁 提折旧
  • 监理公司成本核算方法
  • 什么叫房屋租购同权
  • 企业缴纳个人所得税客户端
  • 收到国家电网信息但号码不是的
  • 为外单位人员报备流程
  • 建筑工程公司的经营范围有哪些
  • 小规模纳税人的认定标准是什么
  • 配置零部件
  • sql连接两个表接查询sql语句
  • macbookair触控板维修
  • linux怎么用命令
  • win7找回删除的文件
  • windows 8.1有哪些版本
  • windows资源管理器在哪个文件夹
  • linux使用shell脚本创建文件
  • script_tool_for_windows.bat Windows 环境下的 hosts 一键部署脚本
  • EXTJS记事本 当CompositeField遇上RowEditor
  • 导入项目出现这个问题
  • qt搭建opencv
  • 基于vue的ui框架
  • Jquery通过ajax请求NodeJS返回json数据实例
  • linux搭建ftp服务器
  • python 执行远程代码
  • js输出表格
  • jquery写网页
  • 江西省税务局官网查询系统
  • 南宁立遗嘱的地方
  • 中国进口0号柴油价格
  • 税务局查帐怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号