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

  • 人生苦短心有爱,生活随意才自在(人生苦短心有爱的句子)

    人生苦短心有爱,生活随意才自在(人生苦短心有爱的句子)

  • iQOO10怎么禁止别的软件自动下载(iqoo3怎么关闭电话拦截)

    iQOO10怎么禁止别的软件自动下载(iqoo3怎么关闭电话拦截)

  • supportassist os recovery是什么意思

    supportassist os recovery是什么意思

  • 抖音怎么找刷过的记录(抖音怎么找刷过去的视频)

    抖音怎么找刷过的记录(抖音怎么找刷过去的视频)

  • ipad卡在白苹果界面(ipad卡在白苹果怎么办)

    ipad卡在白苹果界面(ipad卡在白苹果怎么办)

  • 快手私信里的聊天记录删除了还可以找到吗(快手私信里的聊天记录删了怎么恢复)

    快手私信里的聊天记录删除了还可以找到吗(快手私信里的聊天记录删了怎么恢复)

  • 1080p摄像头多少万像素(1080p摄像头是多少万)

    1080p摄像头多少万像素(1080p摄像头是多少万)

  • 爱奇艺投屏电视没反应(爱奇艺投屏电视怎么调整屏幕比例)

    爱奇艺投屏电视没反应(爱奇艺投屏电视怎么调整屏幕比例)

  • 苹果手机最上面一排不见了(苹果手机最上面的横槽是什么)

    苹果手机最上面一排不见了(苹果手机最上面的横槽是什么)

  • 酷喵vip能登录几个电视(酷喵vip能登录几台电视)

    酷喵vip能登录几个电视(酷喵vip能登录几台电视)

  • pr为什么导入视频绿屏(pr为什么导入视频只有声音)

    pr为什么导入视频绿屏(pr为什么导入视频只有声音)

  • 小米mix2怎么开启快速充电(小米mix2怎么开热点)

    小米mix2怎么开启快速充电(小米mix2怎么开热点)

  • 密封线如何设置(密封线怎么设置)

    密封线如何设置(密封线怎么设置)

  • 如何查看独立显卡内存(如何查看独立显卡和集成显卡)

    如何查看独立显卡内存(如何查看独立显卡和集成显卡)

  • 怎么找淘宝小二介入(闲鱼纠纷怎么找淘宝小二)

    怎么找淘宝小二介入(闲鱼纠纷怎么找淘宝小二)

  • 天猫怎么设置预售(天猫设置预售怎么设置)

    天猫怎么设置预售(天猫设置预售怎么设置)

  • anglar和vue的区别(vue和angular的区别)

    anglar和vue的区别(vue和angular的区别)

  • 8p是什么意思(拍照8p是什么意思)

    8p是什么意思(拍照8p是什么意思)

  • redmi耳机无法并联(红米耳机无法串联怎么办)

    redmi耳机无法并联(红米耳机无法串联怎么办)

  • 旺旺号降权多久能恢复(旺旺号降权多久恢复可以查到是哪单被降了?)

    旺旺号降权多久能恢复(旺旺号降权多久恢复可以查到是哪单被降了?)

  • 荣耀v20联名版区别(荣耀v20联名款与普通款)

    荣耀v20联名版区别(荣耀v20联名款与普通款)

  • 用Ps怎么制作有质感毛玻璃效果(ps怎么制作有序排列图案)

    用Ps怎么制作有质感毛玻璃效果(ps怎么制作有序排列图案)

  • 华为p39和p30pro区别(华为p30和p30pro区别详细参数)

    华为p39和p30pro区别(华为p30和p30pro区别详细参数)

  • 芒果tv会员能同时用吗(芒果tv会员能共用吗)

    芒果tv会员能同时用吗(芒果tv会员能共用吗)

  • 连接网线后,对应端口指示灯不亮怎么办?(接的网线影响传输吗)

    连接网线后,对应端口指示灯不亮怎么办?(接的网线影响传输吗)

  • pcscan.exe是什么进程 pcscan进程查询(scvc8.exe是什么)

    pcscan.exe是什么进程 pcscan进程查询(scvc8.exe是什么)

  • dedecms织梦列表页单独调用总页数二次开发方法(织梦栏目页模板)

    dedecms织梦列表页单独调用总页数二次开发方法(织梦栏目页模板)

  • 境外企业在中国境内承包建筑工程应在
  • 留抵退税手续
  • 建筑企业简易计税可以开专票吗
  • 什么是进项加计扣除
  • 应交税费减免科目金额的计算
  • 新成立的公司一般纳税人还是小规模纳税人好
  • 小规模纳税人印花税是季报还是月报
  • 公司基建维修承诺书
  • 公司外部人员可以直接在公司报销吗
  • 营改增之前固定资产可以抵扣吗
  • 小规模纳税人查账征收所得税税率
  • 什么税不计入税金及附加科目
  • 进项税是在抵扣吗
  • 汽车折旧年限与什么有关
  • 总分机构如何做账
  • 年所得12万元以上个人
  • 广告机计入什么费用
  • 现金流量净额为负说明什么
  • 融资租赁与经营租赁的相同点
  • 客户付货款给我们公司备注往来结算款
  • 工程竣工结算审查期限
  • 开土地租赁发票需要交哪些税费
  • 专家费怎么做账没发票
  • 固定资产拆除后账务处理
  • 附加税有哪些税种
  • windows10无法连接到打印机,拒绝访问
  • macos catalina安装很慢
  • 计提城市维护费分录
  • 工会经费的计税依据包括劳务费吗
  • php公众号
  • 微信支付被限制是怎么回事
  • 利息收入结转的正确分录
  • 解除劳动合同后需要把合同拿回来吗
  • 企业规模扩大后更易于管理吗
  • 增值税专用发票有几联?
  • vue传值inject
  • php判断是否连接数据库
  • javaweb实验一
  • React - Redux Hooks的使用细节详解
  • vue中的路由守卫有哪些
  • 对方开具红字发票,我方怎么查询
  • python读取全部文件
  • python一元二次方程求根
  • sqlserver数据表在哪里
  • 商业承兑汇票的流程
  • sqlServer查询当前ip地址
  • 增值税税率为零的有哪些项目
  • 简易计税是否要计增值税
  • 外购货物用于促销的账务处理
  • 捐赠的资产属于什么科目
  • 进口材料海关需要什么手续
  • 企业向个人借款利息如何缴纳增值税
  • 员工工资占公司收入
  • 合同资产百度百科
  • 企业整个月没有缴纳社保
  • 内部交易固定资产折旧为什么调整
  • 启用账簿时应在账簿上签名或盖章的是
  • sqlserver数据库测试工具
  • mysql数据库优化总结
  • MySQL索引背后的数据结构及算法原理
  • 什么是分表分库
  • 电脑win7win8win10操作系
  • windows哪个最好用
  • win7系统还能用不
  • 怎么删除windows7
  • excel表格用windows7打不开
  • linux查看所有硬件信息命令
  • 怎么处理人际关系
  • win8的设置
  • win10开机蓝屏提示修复
  • cocos2dx入门
  • python计算两日期间隔月份
  • linux中的shell命令
  • javascript快速入门
  • jquery显示当前时间
  • JavaScript的removeChild()函数用法详解
  • python怎么写字符串
  • 企业个税网上申报时间
  • 城建税教育费附加怎么做分录
  • 1国家税务总局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设