SVG类的:hover CSS填充效果无法正常工作

5

我怎样才能让这个SVG在鼠标悬停时填充?我查看了大量文档并尝试了几种方法,但都没有成功。

这是我的HTML代码:

  <a class="anchor-class" href="#"><svg class="svg-class"></svg></a>

我已经在我的css中尝试了以下内容:

a svg:hover {
    fill: #50c8e8;
}

以及

.anchor-class svg:hover{
    fill: #50c8e8;
}

甚至

.svg-class :hover{
    fill:#50c8e8;
}

我做错了什么?我应该可以用css来完成这个任务,对吗?

编辑:需要注意的是,这张图片被用作背景图片。以下是css的更多细节:

.svg-class {
    background-repeat: no-repeat;
    background-size: 20px 20px;
    height: 20px;
    width: 20px;
    display: inline-block;
    .background-image('path.svg')
}

编辑2:这是 .svg 代码,不确定它是否重要

<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"   xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
<style type="text/css">
    .st0{fill:#E4E4E4;}
</style>
<path id="XMLID_154_" class="st0" d="M85.5,15c-19.5-19.4-51-19.4-70.4,0c-19.5,19.4-19.5,51,0,70.4c19.5,19.5,51,19.4,70.4,0
C105,66,105,34.4,85.5,15z M49.5,9c5.3,0,9.5,4.3,9.5,9.5c0,5.3-4.3,9.6-9.5,9.6c-5.3,0-9.6-4.3-9.6-9.6C39.9,13.2,44.1,9,49.5,9z
 M64.8,79.1c0,2-1,3-3,3H37.3c-2,0-3-1-3-3v-6.3c0-2,1-3,3-3h4.5V43.4h-4.6c-2,0-3-1-3-3v-6.3c0-2,1-3,3-3h17.2c2,0,3,1,3,3v35.7
h4.6c2,0,3,1,3,3V79.1z"/>
</svg>

@Paulie_D 我现在明白了。我没有意识到将svg用作.background-image会改变它。谢谢。随意删除。 - USER_8675309
如果您希望删除问题,您可以这样做。但我无法执行此操作。 - Paulie_D
约翰·卡朋特也不能先删除他的回答。 - USER_8675309
好的...我只需要留下来,虽然我不知道是否可以标记给管理员(我不是管理员)删除? - Paulie_D
1个回答

12

更新:使用您发布的SVG代码,您可以以以下方式执行此行为。

示例:

a .svg-class:hover path {
    fill: #50c8e8;
}

.svg-class {
    height: 20px;
    width: 20px;
    display: inline-block;
}
<a class="anchor-class" href="#">
  <svg class="svg-class" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"   xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
    <style type="text/css">
    .st0{fill:#E4E4E4;}
    </style>
    <path id="XMLID_154_" class="st0" d="M85.5,15c-19.5-19.4-51-19.4-70.4,0c-19.5,19.4-19.5,51,0,70.4c19.5,19.5,51,19.4,70.4,0
C105,66,105,34.4,85.5,15z M49.5,9c5.3,0,9.5,4.3,9.5,9.5c0,5.3-4.3,9.6-9.5,9.6c-5.3,0-9.6-4.3-9.6-9.6C39.9,13.2,44.1,9,49.5,9z
 M64.8,79.1c0,2-1,3-3,3H37.3c-2,0-3-1-3-3v-6.3c0-2,1-3,3-3h4.5V43.4h-4.6c-2,0-3-1-3-3v-6.3c0-2,1-3,3-3h17.2c2,0,3,1,3,3v35.7
h4.6c2,0,3,1,3,3V79.1z"/>
  </svg>
</a>


但是这种方式无法应用过渡速度... - Gcamara14

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接