Html 在跨度内悬停时更改SVG颜色称为另一种样式
您好,我想知道如何在span中选择SVG并在悬停时更改其颜色 我的svg是从span中的另一种样式调用的: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
<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;
}
}