首页 > 其他分享 >通过css 改变通过img标签引入的svg颜色

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

时间:2022-11-08 09:11:06浏览次数:82  
标签:img svg 通过 inject 标签 css

前言

修改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>

使用后

使用ο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" onl oad="SVGInject(this)" /></body></html>

结语

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

标签:img,svg,通过,inject,标签,css
From: https://www.cnblogs.com/Sultan-ST/p/16868540.html

相关文章

  • webpack中配置CSS兼容性时报错 Failed to parse package.json data
      是因为在package.json中添加了注释正确webpack配置CSS兼容性的步骤:npmipostcss-loaderpostcss-preset-env-D/webpack.config.jsmodule:{    ru......
  • CSS书写顺序及其原因
    记得刚开始学习前端的时候,每次写css样式都是用到什么就在样式表后添加什么,完全没有考虑到样式属性的书写顺序对网页加载代码的影响。后来逐渐才知道正确的样式顺序不仅易于......
  • 前端学习-CSS-01-CSS基础认知
    学习时间:2022.11.06CSS基础认知CSS初识<!--01-CSS初识.html--><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-C......
  • 前端学习-CSS-02-基础选择器
    学习时间:2022.11.07基础选择器标签选择器标签选择器就是以标签名命名的选择器标签选择器将所有该标签内容都生效CSS效果<!--01-标签选择器.html--><!DOCTYPEhtm......
  • day27 CSS浮动、溢出 & js基本语法
    接day26CSS=>CSS定位overflow属性值描述示例visible默认值,内容不会被修剪,会呈现在元素框之外hidden内容会被修剪,并且其余内容是不可见的overflow:hidd......
  • vue2.0引入css文件后报错
    vue2.0的main.js中引入css文件后报错。报错示例:UncaughtError:Moduleparsefailed:/Users/**/Desktop/vue2/node_modules/.1.0.0-rc.5@element-ui/lib/theme-default/i......
  • 日常常用css样式大全,超出隐藏,不换行,省略号,两行超出隐藏,不换行,省略号,CSS中划线(删除
    文字去掉默认抛边line-height:1;超出隐藏,不换行,省略号overflow:hidden;  //超出的文本隐藏text-overflow:ellipsis;  //溢出用省略号显示white-space:nowrap;......
  • 【每日一练】26—CSS实现响应式卡片悬停效果
    今天练习的这个小项目,是一个产品卡片式的介绍说明,像我们在一些个人简历产品说明里或者产品说明里会经常使用这样的内容设计,然后再配上合适的图片即可。例如,我们在个人简历上......
  • 【每日一练】19—CSS 实现撕纸的效果
    写在前面今天我们来练习一个CSS实现的撕纸效果,这个效果,也会在一些设计网站上经常看到,但是这个用PS可以直接做成一张图片,但是,今天我们用CSS通过两张图片就实现了,这样做的好处......
  • 【每日一练】20—CSS实现文字动画效果
    写在前面今天来到了我们的第20个小项目的练习,距离我们100个小项目的练习,我们已经完成了五分之一了,剩下的五分之四,我们一起加油练习。今天练习的这个小项目是一个CSS实现的文......