background-image使用svg如何改变颜色

简介:

结论

在我多番测试之后,才发现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>
复制代码
相关文章
|
存储 芯片 内存技术
DRAM集中刷新,分散刷新,异步刷新的区别
DRAM集中刷新,分散刷新,异步刷新的区别
2037 0
|
数据库
FastAPI(55)- Events: startup - shutdown 启动/关闭事件
FastAPI(55)- Events: startup - shutdown 启动/关闭事件
527 0
FastAPI(55)- Events: startup - shutdown 启动/关闭事件
|
算法 网络安全 数据安全/隐私保护
使用 openssl 生成证书
一、openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。官网:https://www.openssl.
9452 0
|
API 开发者
WebSocket API 中的 onerror 事件和 close 事件有什么不同?
【10月更文挑战第26天】`onerror`事件侧重于通知开发者WebSocket连接过程中出现的错误,以便进行相应的错误处理和恢复;而`close`事件则主要用于在连接关闭时进行资源清理和根据关闭情况采取适当的后续操作。两者在WebSocket应用的开发中都起着重要的作用,帮助开发者更好地管理和处理WebSocket连接的各种情况。
|
机器学习/深度学习 数据可视化 网络架构
增强深度学习模型的可解释性和泛化能力的方法研究
【8月更文第15天】在深度学习领域,模型的准确率和预测能力是衡量模型好坏的重要指标。然而,随着模型复杂度的增加,它们往往变得越来越难以理解,这限制了模型在某些关键领域的应用,例如医疗诊断、金融风险评估等。本文将探讨如何通过几种方法来增强深度学习模型的可解释性,同时保持或提高模型的泛化能力。
1514 2
|
缓存 JavaScript
vue组件强制刷新的5种方案
vue组件强制刷新的5种方案
1645 2
|
JavaScript
【经典】原生JS实现“用鼠标拖拽(drag)内容DIV”,滚动条对应同步滚动
【经典】原生JS实现“用鼠标拖拽(drag)内容DIV”,滚动条对应同步滚动
|
开发工具 git
IDEA——npm install 没有生成node_modules目录
IDEA——npm install 没有生成node_modules目录
912 0
|
JavaScript 前端开发
vue element plus Rate 评分
vue element plus Rate 评分
484 0
|
JavaScript
vue项目使用可选链操作符编译报错问题
vue项目使用可选链操作符编译报错问题
1584 1