vue-admin-template框架下修改svg的颜色

嘿嘿,好久不更博客啦。突然记起这个修改svg颜色这个挺好玩的,记录一下。哈哈哈哈,没想到svg还能这样玩。

需求:vue-admin-template里面某个模块鼠标滑过时里面的图标变颜色

首先解决方案有很多,改background-image,改img的路径。我都觉得这些最终都是要换图片,有没有直接在图片的基础上改个颜色就ok的。哈哈,svg一下子映入脑子。这玩意阿里icon-font都可以改颜色,啧啧,那么我是不是也可以尝试。

说干就干。百度走一波,首先看到一个哥们的博客。如图:

https://blog.csdn.net/weixin_41615439/article/details/107181777

懒得点开链接的,我就把代码放进来看:

.svg{
    fill:currentColor;
    color:red;
}

看完直接上手。发现,咦?好像还是不行啊。然后再找一篇

https://blog.csdn.net/kaimo313/article/details/107772602

嗯,这哥们说的就是在vue中,怎么将svg集成能改颜色的,主要css代码如下:

.svg-icon {
  fill: currentColor; //此属性为更改svg颜色属性设置
  stroke: currentColor;
  overflow: hidden;
}

但是,这个并不没有实现我鼠标划过就能改色,解决不了问题,然后,我发现一哥们,直接暴力改颜色,哎,可惜了,忘记收藏那个哥们的链接地址,不然也要推一波。最给力是他教我改fill变成currentColor。

来,直接上修改方案,

第一步,进到svg的代码,在path里面找到fill然后修改成fill="currentColor"

<svg id="_1.Bace基础_3.Icon图标_文件_folder" data-name="1.Bace基础/3.Icon图标/文件/folder" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
  <rect id="folder_Background_" data-name="folder (Background)" width="16" height="16" fill="none"/>
  <path id="folder" d="M12,11.5H1a1,1,0,0,1-1-1V1A1,1,0,0,1,1,0H4.091l.131.1,1.94,1.4H12a1,1,0,0,1,1,1v8A1,1,0,0,1,12,11.5ZM1,1v9.5H12v-8H5.838l-.131-.1L3.767,1Z" transform="translate(1.5 2.5)" fill="currentColor" />
</svg>

第二步,修改类名

.svg{
    fill:currentColor;
    color:rgba(51, 51, 51, 0.8);
}

第三步,鼠标经过对应div,修改hover事件

.node:hover .svg{fill:currentColor;color: #001B84}

经上,完成了svg的改色。嘿嘿,有意思吧,冷门吧,解决了开心不。哈哈哈。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值