当前位置: 首页 > news >正文

使用svg图标

方式一:原生导入 SVG 内容(可改色、无插件)

步骤 1:准备 SVG

把你的图标放到:src/assets/icons/home.svg

步骤 2:直接导入 SVG 源码

利用 Vite 原生的?raw导入 SVG 字符串,再用v-html渲染。

<template> <!-- 渲染 SVG --> <div v-html="home" class="icon-wrapper"></div> </template> <script setup> // 原生导入 SVG 源码(关键:加 ?raw) import homefrom '@/assets/icons/home.svg?raw' </script> <style scoped> /* 修改颜色(必须去掉 SVG 内部的 fill) */ .icon-wrapper :deep(svg) { fill: #ff4d4f; /* 红色 */ width: 100%; height: 100%; } </style>

方式二:封装成全局组件

步骤 1:创建组件:src/components/SvgIcon.vue

<template> <div class="svg-icon" v-html="svgContent"></div> </template> <script setup> import { computed } from 'vue' const props = defineProps({ name: { type: String, required: true } }) // 自动根据 name 导入 SVG const svgContent = computed(() => { // 关键:原生导入 return import.meta.glob('@/assets/icons/*.svg', { eager: true, as: 'raw' })[ `/src/assets/icons/${props.name}.svg` ] }) </script> <style scoped> </style>

步骤 2. 任意页面直接用

<template> <SvgIcon name="home" class="icon-wrapper"/> </template> <script setup> import SvgIcon from '@/components/SvgIcon.vue' </script> <script setup> .icon-wrapper{ fill: #ffffff; } .icon-wrapper:hover{ fill:#FDB2CB; } </script>

关键要点

  1. 必须加?raw作用:告诉 Vite 直接导入 SVG 文本内容,不转成图片。

  2. 能改色的前提打开你的.svg文件,删除所有fill="xxx"

http://www.zskr.cn/news/1326661.html

相关文章:

  • 量子化学计算中的自旋适应算符与费米子激发算符
  • 一种基于TSPC-DFF的高速低功耗Fractional PLL实现
  • 养老护理员网课选哪家好?3大平台网课深度测评!
  • 人机协同新范式:AI数字员工Agent如何破解企业系统孤岛
  • 基于MATLAB的GPS捕获、跟踪与PVT计算实现
  • AI 钻牛角尖怎么办?Vibe Coding 中人工介入的 4 个关键信号
  • 深入Linux Input子系统:从全志T113-S3的按键事件,看懂/dev/input/eventX
  • ToastFish:终极Windows通知栏摸鱼背单词神器,上班族必备的隐蔽学习工具
  • Maven高级
  • 期货合约乘数与最小变动价位:从 Quote 读规格做下单预算
  • python学习笔记 | 11.0、面向对象高级编程
  • 告别降级:PyTorch高版本下Mask R-CNN/Faster R-CNN THC头文件与内存分配兼容性修复实战
  • 稳定币深度解析:从技术内核到生态未来
  • Hermes Agent 四层记忆架构中 nudge_interval 主动触发的 4 种典型场景与间隔设置策略
  • 5步掌握ExtractorSharp:游戏资源编辑的终极免费指南
  • CANN/cann-learning-hub as_strided算子审查报告
  • STC89C52RC+HX711:手把手教你做一个5KG高精度电子秤(附语音播报模块选型避坑)
  • 闪灯电路板
  • 破局京城老酒变现困局 京城亚南酒业,以高效诚信守护藏家权益 - 品牌排行榜单
  • V型反转,科技股是最爱!
  • 7.2 节实战指南:Cursor 中 5 类开发任务对应的最优模型切换策略
  • 嵌入式系统入门指南:从零基础到实践应用
  • 嵌入式Linux启动时间从20秒优化至5秒:i.MX 8M Mini系统级实战
  • 《现有Python脚本快速封装OpenClaw Skill指南》
  • 开源工业自动化革命:OpenPLC Editor如何重塑PLC编程生态
  • 2026技术趋势:大模型“记忆来源”功能实测,GPT-5.5如何让回答有据可查
  • STM32F103驱动125KHz RFID读卡器:从串口调试到代码实战,一次搞定RS485多设备通信
  • OpenClaw 升级备份迁移三步法:模块一架构下零停机部署实操
  • 别只会‘pip install’了!当Python报错找不到‘pkg_resources’时,你的setuptools可能出大问题
  • OPNsense安装选UFS还是ZFS?从硬件选择到文件系统性能的完整决策指南