通过css 改变通过img标签引入的svg颜色

2023-05-16

前言

修改svg颜色,一般直接修改文件的svg的fill属性就可以了,可以直接改svg属性,也可以通过css修改,但是前端一般都是通过img标签直接引入的svg图片,这样不管是从后期维护还是代码整洁度考虑,都更佳优秀,但问题也随之而来,没法通过css改变svg的颜色。

下面来介绍一种通过css改变通过img标签引入的svg颜色的方法

SVGInject

svg-inject 是一个缓存解决方案将SVG文件内联注入到DOM的库。

安装及使用
一、通过js标签直接引入

下载 开发版 (v1.2.3): svg-inject.js

下载 生产版(v1.2.3): svg-inject.min.js

二、通过 npm
$ npm install @iconfu/svg-inject
使用

我们可以看实际效果是svg文件最终相当于直接导入到了html中,所以操作的时候就特别方便了,比如改个颜色

使用时 只要将要控制的svg图片所在的img便签上加上οnlοad="SVGInject(this)"

使用前

可以看出没有使用οnlοad="SVGInject(this)",图片是img标签通过路径使用

<html>
<head>
  <script src="svg-inject.min.js"></script>
  <style>
    .svg-img g{
        fill: blue;
    }
  </style>
</head>
<body>
  <img class = "svg-img" src="image1.svg"/>
</body>
</html>

1433614-20190819162456643-999872833.png

使用后

使用οnlοad="SVGInject(this)"后,是直接将svg导入到dom中

<html>
<head>
  <script src="svg-inject.min.js"></script>
  <style>
    .svg-img g{
        fill: blue;
    }
  </style>
</head>
<body>
  <img class = "svg-img" src="image1.svg" onload="SVGInject(this)" />
</body>
</html>

1433614-20190819162418710-1825228272.png

结语

svg-inject 库还有其他svg的操作方法,如果有兴趣可以去官网看看:传送门

转载于:https://www.cnblogs.com/slongs/p/11377817.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过css 改变通过img标签引入的svg颜色 的相关文章

  • 在 SVG 中使用变换模拟枢轴旋转

    我在 SVG 中有一个矩形 需要从特定点绕轴旋转 我能想到的最好方法是变换到枢轴的 xy 旋转角度 然后再次变换 问题是第二个变换的 xy 我认为它会在某种程度上采用 cos 和 sin 只是不确定在哪里或为什么 会旋转 90度到 也许我以
  • 如何在 mat-h​​orizo​​ntal-stepper 中为不同形式设置不同宽度

    我想在mat step中为不同的表单设置不同的宽度 第一个表单中的内容为400px宽度 第二个表单内容为700px宽度
  • 悬停时显示表格行大纲

    我试图在悬停时突出显示表格行的边框 不幸的是 这仅适用于第一行单元格 较低的行有一个不改变颜色的边框 我尝试过使用outline但它不太适合 hover在网络套件中 http jsfiddle net S9pkM 2 http jsfidd
  • 我可以根据基于百分比的宽度设置 div 的高度吗? [复制]

    这个问题在这里已经有答案了 假设我有一个宽度为 body 的 50 的 div 如何使其高度等于该值 这样当浏览器窗口宽度为1000px时 div的高度和宽度均为500px 这实际上可以仅使用 CSS 来完成 但 div 内的内容必须绝对定
  • 图像缩放会导致 Firefox/Internet Explorer 质量较差,但 Chrome 不会

    See http jsfiddle net aJ333 1 http jsfiddle net aJ333 1 在 Chrome 中 然后在 Firefox 或 Internet Explorer 中 图像最初是 120 像素 我缩小到 2
  • 如何防止 itext7.pdfhtml 创建的 PDF 中的文本跨页中断?

    我正在使用 itext7 版本 7 1 2 和 itext7 pdfhtml 版本 2 0 2 从一些包含不得跨页面中断的元素 例如图形及其随附文本 的 HTML 生成 PDF 我尝试过使用显式分页符 正如在我们的旧版 iTextSharp
  • html或css中的倾斜对角线?

    I want to make a Table like this 是否可以添加一个倾斜的对角边框在表中 基于CSS3 线性渐变 http dev w3 org csswg css images 3 linear gradients解决方案
  • div 内的溢出自动在 ie 中不起作用

    这是我的代码http jsfiddle net FbC86 http jsfiddle net FbC86 如果您使用 Chrome 或 Firefox 打开此页面 单元格内的文本将通过垂直滚动条正确溢出 如果您使用 Internet Ex
  • 具有多个路径的 SVG 剪辑路径的悬停事件

    我有一个 SVG 演示图像 其中包含多个正在剪辑动画 GIF 的圆圈 当用户将鼠标悬停在每个圆圈上时 是否可以观察每个圆圈的悬停事件 例如左上角的圆圈或右中角的圆圈 另外 当这些圆圈悬停时 是否可以操纵这些圆圈上的颜色叠加 EDIT 理想情
  • 如何正确设置 100% DIV 高度以匹配文档/窗口高度?

    我有一个包装器 位于中心位置 并带有 y 重复的背景图像 div some content div wrapper width 900px margin 0 auto 0 auto background image url image jp
  • 如何使用 CSS 在 HTML H2 之前添加数字?

    我正在努力创造一个好看的H2HTML 和 CSS 中的标题将允许我在实际标题文本之前有一个格式良好的数字 如下图所示 图像中的示例使用如下所示的 CSS 代码 效果很好 只是我无法在 HTML 中设置橙色圆圈中的数字值 h2 before
  • 我可以覆盖父元素的 z-index 继承吗?

    使用绝对位置时 有什么方法可以覆盖父元素的 z index 继承 我希望 2222 div 位于 0000 div 之上 div style background color green OOOO div div style backgro
  • 如何(在哪里)使用 css 在嵌套 html 表格中设置固定单元格大小?

    这里有很多关于如何设置固定单元格大小的答案 但我无法在嵌套表层次结构中找到参数所属的位置 我的表格是日历的可视化 显示可能的多个事件 显示半年 我的 html 结构简化了 如下所示 table whole calendar tr whole
  • CSS 中的圆帽下划线

    你能用 CSS 制作圆形下划线 如上图所示 吗 如何 有没有办法做到这一点border bottom border radius相反 会产生这种时尚的效果 编辑 我误解了皮克想要什么 但这应该有效 test font size 50px b
  • 工具提示出现在 intro.js 移动视图中的元素上方

    我正在使用 intro js 初步浏览我网站上的页面 该游览在桌面上看起来不错 但在移动设备上 工具提示出现在它所描述的元素的正上方 用户无法在移动视图中看到该元素 因为工具提示出现在该元素的正上方 见下图 我尝试自定义工具提示的位置 但输
  • 如何向 display:block 添加过渡/效果

    我有一个这样的div x 以及最初隐藏的一种 子菜单 x submenu display none 仅当用户位于 x div 上时子菜单才可见 div x hover x submenu display block 现在 我想通过事务或使可
  • Bootstrap 如何从一个类切换到下一个类?

    我试图理解Bootstrap 3的反应能力 我明白在css如果一个元素有 2 个类 那么第二个类将覆盖第一个类 但是 当您使用以下命令创建响应式设计时Bootstrap 您的元素将如下所示 div class col sm 1 col md
  • 如何在 div 标签上添加带边框的三角形

    我有一个 div 标签 我想在它上面添加一个小三角形 注意 我希望我的 div 标签具有某种颜色的边框 以及另一种颜色的 div 主体 假设我的 div 背景为白色 边框为蓝色 请看这个 http fiddle jshell net pau
  • CSS Hex 到速记十六进制转换

    将十六进制转换为速记十六进制的正确算法是什么 例如 996633很容易被转换为 963 但如果是这样怎么办 F362C3 我的第一个猜测是我只取每种颜色的第一个值并使用它 所以 F362C3变成 F6C 但我不知道如何从数学上证明这种方法的
  • 哪个 SVG/SMIL DOM 元素具有“beginElement”方法?

    最终 这是针对将在 Firefox 中运行的 Kiosk 风格的应用程序 使用 jQuery 1 6 4 因此答案可能是特定于 Firefox 的 我正在尝试制作动画 SVG 但我正在尝试通过动态插入 SMIL 来为其设置动画 我没有看到任

随机推荐

  • Bag-of-words model

    Bag of words model BoW model 最早出现在NLP和IR领域 该模型忽略掉文本的语法和语序 用一组无序的单词 words 来表达一段文字或一个文档 近年来 BoW模型被广泛应用于计算机视觉中 与应用于文本的BoW类比
  • 链式队列小结

    1 队列的特性是先进先出 xff1b 最小单元是一个节点 包含了datatype和next xff0c 其中datatype是可以自定义的结构体 xff0c 包含了多种类型的数据 2 对队列有队尾指针和队头指针进行封装 后面的操作是对他进行
  • linux 学习笔记 我 整理了好久

    printenv 查看环境 hash 查看缓存命令 clock hwclock date 查看时间 help 43 command 获得帮助 command help man command 用户命令 bin usr bin usr loc
  • .net 打开服务器文档,net 网络

    net Socket 类 新增于 v0 3 4 此类是 TCP 套接字或流式 IPC 端点 在 Windows 上使用命名管道 xff0c 否则使用 Unix 域套接字 的抽象 它也是 EventEmitter net Socket 可以由
  • 工控机的io开发_C#调用工控机dll文件,实现对IO的控制

    本文旨在记录 xff0c C 通过调用外部DLL文件实现对Nuvo3120工控机IO口的控制 前期 xff0c 了解了C 43 43 中 c h lib文件的区别 xff0c 以及用这些文件生成DLL的方法 xff0c 后面通过厂家直接找到
  • 姿态估计中的雅可比求导

    问题描述 姿态估计是SLAM中的一个基础问题 基于重投影误差的问题描述一般为求解下列的优化问题 min mathbf T mathbf f quad mathbf f 61 mathbf e T mathbf e 61 parallel p
  • linux安装杀毒软件

    https www cnblogs com bingo1024 p 9018212 html 转载于 https www cnblogs com majianyu p 10490920 html
  • Ubantu下VSCode安装及使用makefile链接调试

    一 安装VSCode 1 通过官方PPA安装Ubuntu make sudo add apt repository ppa ubuntu desktop ubuntu make sudo apt get update sudo apt ge
  • Git和SourceTree配合使用

    Git介绍 git是当今最强大的本地的分布式代码版本管理工具 git的核心概念与操作 xff1a 开发环境 xff0c 本地仓库 xff0c 远程仓库 他们的关系如下图 xff1a 与CVS及SVN的比较 xff1a CVS及SVN都是集中
  • 安装vmware tools 后也不能和主机之间复制、粘贴内容、拖拽文件的解决方案

    1 先尝试重新安装vmware tools 2 换最新版本的vmware player 3 运行以下命令 sudo apt get autoremove open vm tools sudo apt get install open vm
  • linux 应用网络连接失败的原因,PuTTY网络错误:软件导致连接中止

    解决PuTTY网络错误 Software caused connection abort 阅读有关该错误的PuTTY怎么说 这是Windows网络代码由于某种原因而终止已建立的连接时所产生的一般错误 例如 xff0c 如果将网络电缆从连接以
  • 智能革命之读书笔记

    我在孩童时代听说机器人时内心觉得那是距离我所生活的时代遥不可及的事物 xff0c 大学时听说人工智能 xff0c 一直对它敬而远之 xff0c 甚至对它有一种畏惧情绪 xff0c 心里一直有种担忧 xff0c 人工智能高度发展 xff0c
  • PX4 FMU [5] Loop

    PX4 FMU 5 Loop PX4 FMU 5 Loop 转载请注明出处 更多笔记请访问我的博客 xff1a merafour blog 163 com 201
  • 简历中工作经验应该如何写

    许多学习软件开发的学员不知道如何在个人简历中如何填写 项目经验 或 项目描述 xff0c 最近接触的一些学习Java的学生在简历中 xff0c 往往项目经验及描述都只能寥寥几笔完事 xff0c 这样的简历肯定是不吸引招聘企业HR的 那么软件
  • 计算机关机界面卡住,电脑关机时卡在关机界面的解决方法

    电脑关机时卡在关机界面的解决方法 发布时间 xff1a 2012 11 19 12 13 04 作者 xff1a 佚名 我要评论 笔记本或台式电脑的XP系统在关机的时候 xff0c 提示正在关闭或正在注销 xff0c 却一直无法正常关闭电脑
  • vue 指定index.html,在vue中,v-for的索引index在html中的使用方法

    在vue中 v for的索引index在html中的使用方法 如下所示 xff1a 以上这篇在vue中 v for的索引index在html中的使用方法就是小编分享给大家的全部内容了 xff0c 希望能给大家一个参考 xff0c 也希望大家
  • windows10 ubuntu子系统 WSL文件位置

    windows10 的linux子系统 xff08 windows subsystem for linux WSL 文件位置 以我的系统为例 xff0c WSL的root目录对应windows的 xff1a C Users xiaoPeng
  • CrawlSpiders简介

    转 xff1a https www cnblogs com ellisonzhang p 11124516 html 4295547 一 CrawlSpiders类简介 通过下面的命令可以快速创建 CrawlSpider模板 的代码 xff
  • python网络协议

    一 互联网的本质 咱们先不说互联网是如何通信的 发送数据 xff0c 文件等 xff0c 先用一个经典的例子 xff0c 给大家说明什么是互联网通信 现在追溯到八九十年代 xff0c 当时电话刚刚兴起 xff0c 还没有手机的概念 xff0
  • 通过css 改变通过img标签引入的svg颜色

    前言 修改svg颜色 xff0c 一般直接修改文件的svg的fill属性就可以了 xff0c 可以直接改svg属性 xff0c 也可以通过css修改 xff0c 但是前端一般都是通过img标签直接引入的svg图片 xff0c 这样不管是从后