Html 在跨度内悬停时更改SVG颜色称为另一种样式

Html 在跨度内悬停时更改SVG颜色称为另一种样式,html,css,svg,Html,Css,Svg,您好,我想知道如何在span中选择SVG并在悬停时更改其颜色 我的svg是从span中的另一种样式调用的: <a href="#"><div><span class=icon over"></span></div></a> 但它在SVG上不起作用。在实际跨度上,它正在使用其他属性 因此,问题是如何更改SVG的颜色,该SVG使用另一种样式调用,该样式在span元素中包含SVG SVG代码: .icon{ backgroun

您好,我想知道如何在span中选择SVG并在悬停时更改其颜色

我的svg是从span中的另一种样式调用的:

<a href="#"><div><span class=icon over"></span></div></a>
但它在SVG上不起作用。在实际跨度上,它正在使用其他属性

因此,问题是如何更改SVG的颜色,该SVG使用另一种样式调用,该样式在span元素中包含SVG

SVG代码:

.icon{

background: url(../img/sprite.view.svg) no-repeat;
    display: inline-block;
    text-indent: -9000px;
    white-space: nowrap;

}

.over {
    background-position: 80.45977011494253% 26.016260162601625%;
    width: 32px;
    height: 32px;
}

之所以不起作用,是因为通过
img
标记、
object
标记或元素的
背景导入SVG时,无法更改任何颜色

为了使用CSS操作SVG,它必须是内联的,内联的,如:

<a href="#">
  <div class="svg-container">
    <svg></svg>
  </div>
</a>

但是,正如有人指出的那样,如果需要使用Javascript而不是内联SVG,您可以使用Javascript更改
对象
标记,而SVG应该非常大。

它是内联SVG吗?因为您的标记中没有svg。是的,它是内联svgSo。。。那么就不要内联SVG了。检查我的答案,你就会知道内联意味着什么,以及如何操作它。如果你使用javascript注入CSS,你可以通过object来实现。您是正确的,但通过img和后台是不可能的。@RobertLongson是这样吗?我大约两周前试过,但不想用。也许我错过了一些重要的东西。@RobertLongson我想我已经没有代码了,所以这不是问题:P
<a href="#">
  <div class="svg-container">
    <svg></svg>
  </div>
</a>
.svg-container {

  > svg {
    fill: #fff;
    stroke: #000;
  }
}