栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用CSS更改SVG图像的颜色(jQuery SVG图像替换)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用CSS更改SVG图像的颜色(jQuery SVG图像替换)?

首先,在HTML中使用IMG标签嵌入SVG图形。我使用Adobe Illustrator制作图形。

<img id="facebook-logo"  src="/images/logo-facebook.svg"/>

就像您嵌入普通图像一样。请注意,您需要将IMG设置为具有svg类。’social-link’类仅出于示例目的。该ID不是必需的,但很有用。

然后使用此jQuery代码(在单独的文件中或HEAD中的内联中)。

            jQuery('img.svg').each(function(){ var $img = jQuery(this); var imgID = $img.attr('id'); var imgClass = $img.attr('class'); var imgURL = $img.attr('src'); jQuery.get(imgURL, function(data) {     // Get the SVG tag, ignore the rest     var $svg = jQuery(data).find('svg');     // Add replaced image's ID to the new SVG     if(typeof imgID !== 'undefined') {         $svg = $svg.attr('id', imgID);     }     // Add replaced image's classes to the new SVG     if(typeof imgClass !== 'undefined') {         $svg = $svg.attr('class', imgClass+' replaced-svg');     }     // Remove any invalid XML tags as per http://validator.w3.org     $svg = $svg.removeAttr('xmlns:a');     // Replace image with new SVG     $img.replaceWith($svg); }, 'xml');        });

上面的代码所做的是查找所有带有“
svg”类的IMG,并将其替换为链接文件中的内联SVG。巨大的优势在于,它允许您现在使用CSS来更改SVG的颜色,如下所示:

svg:hover path {    fill: red;}

我编写的jQuery代码还跨越了原始图像ID和类。因此,此CSS也适用:

#facebook-logo:hover path {    fill: red;}

要么:

.social-link:hover path {    fill: red;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432569.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号