样式化SVG填充输入元素的颜色

时间:2012-07-17 10:47:39

标签: css svg

当下面的输入元素处于以下状态时,是否可以更改SVG内容的填充颜色:悬停状态而不更改源svg图像?

<input type="image" src="images/toolbar/check.svg" />

最终有效的解决方案基于Erik的建议:

首先,需要将input元素更改为具有内联svg内容的按钮元素:

<button type="button">
  <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"     version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 95.453 100" enable-background="new 0 0 95.453 100" xml:space="preserve"><g><g><polygon points="94.587,27.48 31.657,86.15 31.217,85.68 18.847,72.41 0.566,52.81 14.106,40.19 32.387,59.79 81.776,13.74"/></g></g>
</svg>
</button>

然后我们可以使用普通的CSS设置svg填充颜色的样式:

button:hover svg {
    fill: red;
}

1 个答案:

答案 0 :(得分:3)

为什么不使用内联svg代替,然后添加一些CSS来设置填充颜色的样式。这应该更有效率。