如何在悬停时更改SVG图像的颜色?

时间:2012-08-27 01:40:25

标签: html css javascript svg

  

可能重复:
  Changing SVG image color with javascript

当我将鼠标悬停在SVG图像上时,我想更改它的填充。

现在我有一个从Illustrator导出到SVG的黑色问号。 我可以使用img标签放置我的页面,它显示正常,但我不知道如何更改代码中的颜色。

3 个答案:

答案 0 :(得分:7)

如果您需要在svg中进行悬停效果,则不应使用< img>标签。而是使用< iframe>,< object>引用svg。或者< embed>标签。如果要保存http GET请求,可以将svg标记内联到html文档中。

以下示例显示了一个简单的填充悬停效果inside an svganother one(稍微复杂一点,使用过滤器在悬停时创建轮廓)。无论如何,它基本上是关于应用:hover CSS规则来设置填充颜色。

可以看到使用svg的所有上述方法的示例here

答案 1 :(得分:1)

可以直接从javascript修改SVG文件,即可以从DOM中访问“图像”的属性。

从堆栈溢出中查看此帖子:modify stroke and fill of svg image with javascript

重要的是要记住,为此,您不能将svg文件包含在公共HTML *&lt; img / &gt; *标记中,而是使用*&lt; svg < / em>&gt; * ... **&lt; / svg&gt; ,如帖子所示。

编辑:svg on w3schools

我添加了一个指向w3schools的链接,以便您可以看到svg对象的更多属性

玩得开心

答案 2 :(得分:-3)

如果您可以发布您的代码,也许我们可以为您排除故障。

请尝试以下操作:http://tutorials.jenkov.com/svg/svg-and-css.html

或者(不是SVG专用),将此类代码用于不同的图像:

<img src="image1.svg"
onmouseover="this.src='image2.svg'"
onmouseout="this.src='image1.svg'">

现场演示:http://jsfiddle.net/JNChw/