【发布时间】:2020-05-30 16:50:15
【问题描述】:
当鼠标移到图像上时,我正在尝试更改 svg 图像笔触颜色。我现在所拥有的并没有改变笔画的颜色,我不知道为什么。如果我通过 devtools 手动更改笔触颜色,它可以正常工作。
我确实注意到,当我使用对象加载 svg 时,我在检查器中得到 #document 项目。这对为什么当我将鼠标悬停在图像上时我的颜色没有改变有任何影响吗?
<li class="nav-item">
<a href="">
<object data="/images/icon.svg"></object>
</a>
</li>
.nav-item {
svg:hover {
path {
stroke: #da25e7;
}
}
}
【问题讨论】:
-
这对为什么当我将鼠标悬停在图像上时我的颜色没有改变有任何影响吗? --> 是的。使用对象就像使用 iframe,你不能使用外部 CSS 影响里面的内容
-
那么,我有没有另一种方法可以在不将 svg 文件嵌入页面的情况下更改 svg 的颜色?
-
我不这么认为,除非您考虑一些解决方法来模拟颜色变化,如过滤器、混合混合模式等......一些例子:stackoverflow.com/a/58450728/8620333
标签: html css svg sass html-object