002 若依管理系统前端vue3讲解 - svg雪碧图

小何hdc 跟着小何学编程 

☉本文由小何整理首发,

版权归本公众号所有,

如有侵犯,请自行删除!

svg雪碧图

安装vite-plugin-svg-icons

pnpm install vite-plugin-svg-icons -D

配置

src\main.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

// svg雪碧图
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'


// 
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
  return {
    plugins: [
      vue(),
      // 注册所有的svg文件生成svg雪碧图
      createSvgIconsPlugin({
        iconDirs: [path.resolve(process.cwd(), "src/assets/icons/svg")], //svg图片存放的目录
        symbolId: "icon-[name]", // 指定symbolId格式
        svgoOptions: command === 'build' // SVG压缩配置
      })
    ],
    resolve: {
      alias: {
        "@": path.resolve("./src") // 相对路径别名配置,使用 @ 代替 src
      }
    }
  }
})

引入样式

src\main.js

import 'virtual:svg-icons-register'

封装svg组件

<template>
    <svg :class="svgClass" aria-hidden="true">
        <use :xlink:href="iconName" :fill="color" />
    </svg>
</template>

<script setup>
const props = defineProps({
    /**
     * svg 的文件名
     */
    iconClass: {
        type: String,
        required: true
    },
    // svg的class
    className: {
        type: String,
        default: ''
    },
    // svg的颜色
    color: {
        type: String,
        default: ''
    },
})

/**
 * 构建svg的完整名称
 */
const iconName = computed(() => `#icon-${props.iconClass}`);

/**
 * 默认使用 svg-icon 类样式
 *  如果传入 className 在 svg-icon 类样式 追加类样式
 */
const svgClass = computed(() => {
    if (props.className) {
        return `svg-icon ${props.className}`
    }
    return 'svg-icon'
})
</script>

<style scope lang="scss">
/* 
  1em
    将icon大小设置和字体大小一致

  fill 是SVG元素的一种属性
    fill 定义元素的颜色,
    currentColor是一个变量,
    这个变量的值就表示当前元素的color值,
    如果当前元素未设置color值,
    则从父元素继承

  vertical-align
    因icon大小被设置为和字体大小一致,
    而span等标签的下边缘会和字体的基线对齐,
    故需设置一个往下的偏移比例,
    来纠正视觉上的未对齐效果
 */
.svg-icon {
    width: 1em;
    height: 1em;
    position: relative;
    fill: currentColor;
    vertical-align: -2px;
}
</style>

全局注册

src\main.js

import SvgIcon from '@/components/SvgIcon/index.vue'

app.component('svg-icon', SvgIcon)

案例

<template>
   <div class="login">
       <svg-icon icon-class="user"   />
   </div>
</template>

<script setup>
</script>

<style lang="scss" scoped>
.login{
   
   display: flex;
   justify-content: center;
   align-items: center;
   height:100%;
}
</style>
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/540616.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码训练LeetCode(14)整数反转

代码训练(14)LeetCode之整数反转 Author: Once Day Date: 2024年4月9日 漫漫长路&#xff0c;才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 190. 颠倒二进制位 - 力扣&#xff08;LeetCode&#xff09;7. 整数反转 - 力扣&#xf…

基于springboot和vue的社团管理系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot和vue的社团管理系统1有三种角色 管理员&#xff1a;社团管理、类型管理、成员管理、活动管理、通知管理、费用管理等 团长&#xff1a;审核入团申请、发布活动、发布通知…

【教学类-52-03】20240412动物数独(4宫格)难度1-9 打印版

作品展示&#xff1a;合并打印&#xff08;难度10%-90%&#xff0c;一共9份&#xff09; 背景需求 前期两个代码完成了4宫格基本样式的制作 【教学类-52-01】20240411动物数独&#xff08;4宫格&#xff09;宫格图https://mp.csdn.net/mp_blog/creation/editor/137679361【教学…

投资组合中是否应该包括黄金

最近有朋友问我&#xff0c;你对黄金怎么看&#xff1f;现在可以买黄金吗&#xff1f; 这些问题问的很好啊。首先表明我的观点&#xff1a;黄金是投机不是投资&#xff0c;黄金的长期投资价值极低&#xff0c;在我的投资组合中配置黄金的比例不会超过5%。 可能有些朋友会反对…

LeetCode-416. 分割等和子集【数组 动态规划】

LeetCode-416. 分割等和子集【数组 动态规划】 题目描述&#xff1a;解题思路一&#xff1a;01背包问题&#xff0c;动规五部曲解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1a; 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分…

MySQL知识整理

MySQL知识整理 基础第一讲&#xff1a;基础架构&#xff1a;一条SQL查询语句是如何执行的&#xff1f;架构尽量减少长连接的原因和方案为什么尽量不要依赖查询缓存 索引第四讲&#xff1a;深入浅出索引&#xff08;上&#xff09;第五讲&#xff1a;深入浅出索引&#xff08;下…

图机器学习导论

图&#xff1a;描述关系数据的通用语言&#xff0c;起源于哥尼斯堡七桥问题 传统的机器学习&#xff1a;数据样本之间独立同分布&#xff0c;简单拟合数据边界&#xff0c;在传统的机器学习中&#xff0c;每个数据样本彼此无关。传统的神经网络&#xff0c;只能处理简单的表格、…

鱼眼摄像头畸变校正方法概述

1. 摘要 鱼眼摄像头以其独特的广阔视场和其他特点&#xff0c;在各个领域得到了广泛应用。然而&#xff0c;与针孔相机相比&#xff0c;鱼眼摄像头存在显著的畸变&#xff0c;导致拍摄的图像失畸变严重。鱼眼摄像头畸变是数字图像处理中常见的问题&#xff0c;需要有效的校正技…

产品3D模型在线展示快速实现教程

产品3D模型可以向潜在客户提供360度的观察角度&#xff0c;比平面图形的效果更好。快速实现产品3D模型的在线展示最简单的方法是使用NSDT 3DConvert的模型内嵌特性&#xff0c;无需任何开发工作&#xff0c;5分钟就可以完成&#xff1a; NSDT工具推荐&#xff1a; Three.js AI纹…

Python网络爬虫中JSON格式数据存储详解

目录 一、引言 二、JSON格式数据简介 三、Python中处理JSON数据 四、网络爬虫中获取JSON数据 五、存储JSON数据到文件 六、从文件中读取JSON数据 七、注意事项和常见问题 八、总结 一、引言 在网络爬虫的应用中&#xff0c;JSON格式数据以其轻量级、易读易写的…

备忘录模式:恢复对象状态的智能方式

在软件开发中&#xff0c;备忘录模式是一种行为型设计模式&#xff0c;它允许捕获并外部化对象的内部状态&#xff0c;以便在未来某个时刻可以将对象恢复到此状态。这种模式是撤销操作或者回滚操作的关键实现机制。本文将详细介绍备忘录模式的定义、实现、应用场景以及优缺点。…

基于51单片机智能家居空气质量监控—温湿度PM2.5

基于51单片机智能家居空气质量监控 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.检测温度、湿度、PM2.5浓度&#xff0c;并在LCD1602实时显示; 2.可以使用按键设置温湿度上下限、P…

rabbitmq安装rabbitmq-delayed-message-exchange插件

下载地址&#xff1a;Community Plugins | RabbitMQ 上传到rabbitmq安装目录的/plugins目录下 我的是/usr/lcoal/rabbitmq/plugins/ 直接安装 [rootk8s-node1 rabbitmq]# rabbitmq-plugins enable rabbitmq_delayed_message_exchange [rootk8s-node1 rabbitmq]# rabbitmq-pl…

UE源码编译报了403之后

今天编译一个早期版本的ue引擎&#xff0c;发现报了一个错误&#xff0c;如下图&#xff1a; 如上图所示。 第一反应是被墙了&#xff0c;然后发现并不是。查了下官方文档&#xff0c;发现是更新了一个下载检测。更新地址https://github.com/EpicGames/UnrealEngine/releases/t…

图片壁纸社区app前后端开源小程序源码

图片壁纸社区APP前后端开源小程序源码&#xff0c;修改了开源版的前端样式&#xff0c;变成图片社区&#xff0c;也可以用来作为壁纸 源码下载地址抄笔记 (chaobiji.cn)

信号完整性的常见术语概念(面试常用)

目录 术语 概念一览 1&#xff0e;信号完整性&#xff08;Signal Integrity&#xff09; 2&#xff0e;传输线&#xff08;Transmission Line&#xff09; 3&#xff0e;特性阻抗&#xff08;Characteristic Impedance&#xff09; 4&#xff0e;反射&#xff08;Reflecti…

【分享】跨境虾皮Shopee各区域商品详情API返回值(商品,订单,面单等)♥

虾皮(shopee)是一个亚洲区域的电商平台&#xff0c;主要在东南亚地区提供电商服务。虾皮提供了丰富的电商数据&#xff0c;包括商品数据、订单数据、会员数据、评价数据等。 虾皮Shopee♥♥​​​​​​​♥​​​​​​​♥​​​​​​​♥​​​​​​​♥ 1.授权 ​ 接口…

SpringBoo利用 MDC 机制过滤出单次请求相关的日志

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1.前言 2.MDC 是什么 3.代码实战 4.总结 1.前言 在服务出现故障时&#xff…

动态规划-简单多状态dp问题1

文章目录 1. 按摩师&#xff08;面试题 17.16&#xff09;2. 打家劫舍 II&#xff08;213&#xff09;3. 删除并获得点数&#xff08;740&#xff09;4. 粉刷房子&#xff08;LCR 091&#xff09; 1. 按摩师&#xff08;面试题 17.16&#xff09; 题目描述&#xff1a; 状态表…

字节码文件的组成

字节码文件的组成 字节码文件的组成1 以正确的姿势打开文件2 字节码文件的组成2.1 基本信息2.2 常量池2.3 字段2.4 方法2.5 属性 3 字节码常用工具3.1 javap3.2 jclasslib插件3.3 Arthas 4 字节码常见指令 字节码文件的组成 1 以正确的姿势打开文件 字节码文件中保存了源代码…