结论

在我多番测试之后,才发现background-image使用svg,改变颜色根本做不了。

分析
当svg图片被使用成background-image,颜色的设置需要在svg内部才能生效。在外部CSS设置颜色样式,却是无效,这其实可以从CSS选择器得到解释,CSS选择器必须选择到DOM元素,而svg却被做成背景图,并没有以元素引入,所以在外部也就设不了颜色。

例子

CSS:

i {
display: inline-block;
width: 100px;
height: 100px;
}
.icon-del{
background-image: url(delete.svg);
}
.st0{fill:#EC665E;}
.st1{fill:#FFFFFF;}

HTML:

<i class="icon-del"></i>

SVG:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-691 693 16 16" style="enable-background:new -691 693 16 16;" xml:space="preserve">
<title>删除群成员</title>
<desc>Created with Sketch.</desc>
<g id="Page-1">
<g id="群组名片成员_x28_管理员_x29_" transform="translate(-284.000000, -249.000000)">
<g id="Group-19">
<g id="Group-14" transform="translate(20.000000, 120.000000)">
<g id="群成员-copy-4" transform="translate(0.000000, 121.000000)">
<g id="删除群成员" transform="translate(264.000000, 8.000000)">
<g id="Group" transform="translate(2.000000, 2.000000)">
<g id="Oval-9">
<circle class="st0" cx="-685" cy="699" r="6"/>
</g>
<g id="Path-2">
<path class="st1" d="M-681,700h-8c-0.6,0-1-0.4-1-1s0.4-1,1-1h8c0.6,0,1,0.4,1,1S-680.4,700-681,700z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

background-image使用svg如何改变颜色的更多相关文章

  1. android中自定义view---实现竖直方向的文字功能,文字方向朝上,同时提供接口,判断当前touch的是哪个字符,并改变颜色

    android自定义view,实现竖直方向的文字功能,文字方向朝上,同时提供接口,判断当前touch的是哪个字符,并改变颜色. 由于时间比较仓促,因此没有对代码进行过多的优化,功能远远不如androi ...

  2. EditText搜索关键字,返回结果匹配关键字改变颜色

    自己项目 用到EditText搜索结果关键字改变颜色,就研究了一下,2种方法实现,发现一个好用的工具类,在代码中一行调用这个方法,直接实现需求. KeywordUtil.java工具类. packag ...

  3. TextView设置动态改变颜色

    通过TextView的setTextColor方法进行文本颜色的设置, 这里可以有3种方式进行设置: 第1种:tv.setTextColor(android.graphics.Color.RED);/ ...

  4. <hr/>标签改变颜色注意事项

    1.css改变颜色 <hr style="border:0;background-color:#093;height:1px;">   注意: 如果不加border:0 ...

  5. IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法

    IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法 IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法 两种方法只是形式 ...

  6. jQuery animate() 改变颜色

    jQuery提供的animate()方法可以实现一些简单的动画效果,但是其核心库不提供颜色动画的效果,如果想实现颜色动画,需要下载相关插件. 但是,animate()的参数中有一个complete,通 ...

  7. 使用case语句给字体改变颜色

    使用case语句给字体改变颜色 #!/bin/bash color(){ RED_COLOR='\E[1;31m' GREEN_COLOR='\E[1;32m' YELLOW_COLOR='\E[1; ...

  8. Android 关于expandableListView childrenView 点击改变颜色

    1.点击后改变颜色并保持颜色改变状态: <?xml version="1.0" encoding="utf-8"?> <selector xm ...

  9. echarts改变颜色属性的demo

    一:柱状图改变颜色 图片.png 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

随机推荐

  1. SET NOCOUNT { ON | OFF }

    当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数) SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数. 当 SET NOC ...

  2. 浅谈Token理解运用

    周末没带电脑,闲着也是闲着,出来分享一点东西,也当自己学习和巩固了. 今天分享一下Token的理解,首先Token的定义是什么? 概念 Token被翻译成为('令牌','标记')在计算机中的含义也差不 ...

  3. Docker镜像目录无法删除

    docker pull下来的镜像目录默认放在:C:\ProgramData\docker\windowsfilter.由于拉下来的镜像已经几乎占满了C盘的空间,准备删除所有的镜像,却发现删除不掉. 搜 ...

  4. [angularjs] 前端路由实现单页跳转

    代码: <div ng-app="Home"> <div ui-view></div> <div ng-controller=" ...

  5. spring_05装配bean

    一.前言 <bean id="user1" scope="singleton" init-method="myInit" destro ...

  6. 【Java每日一题】20170317

    20170316问题解析请点击今日问题下方的“[Java每日一题]20170317”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...

  7. 前端常用技术概述--Less、typescript与webpack

    前言:讲起前端,我们就不能不讲CSS与Javascript,在这两种技术广泛应用的今天,他们的扩展也是层出不穷,css的扩展有Less.Sass.Stylus 等,js的超集有Typescript等. ...

  8. nginx 转将http跳转到https

    #websoceket 使用map map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream abc. ...

  9. 解决easyui combobox赋值boolean类型的值时,经常出现的内容显示的value而不是text的bug

    版本:EasyUI 1.7.0 在用easyui写项目时,碰到一个combobox的奇葩bug.代码如下: <div> <select class="easyui-comb ...

  10. springboot 常用配置文件

    1.连接数据库 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId> ...