【发布时间】:2023-03-06 09:47:01
【问题描述】:
我有一个包含两部分的 SVG 文件。当我将鼠标悬停在 .segment_1 上时,我设法创建了一个悬停状态来更改具有 .segment_1 类的作品的颜色(悬停在 .segment_1 上会改变颜色,该部分有效)。我在同一个 SVG 文件中还有另一个元素,我已经能够使用 CSS 成功隐藏它(#matter)。问题是我似乎无法让名为#matter 的div 也显示为悬停状态。颜色更改有效,但名为 (#matter) 的 div 的显示状态无效。在此先感谢您提供任何帮助。
.segment_1 {fill:#a1a1a1;}
.segment_1:hover {fill:#F9A92F;}
#matter {display: none;}
.segment_1:hover #matter {display:block;}
<svg version="1.1" id="rocket_x5F_svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" viewBox="0 0 612 792" style="enable-background:new 0 0 612 792;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E6E7E8;}
.st1{fill:#F9AA30;}
</style>
<g id="rocket">
<path id="segment_x5F_1" class="st0 segment_1" d="M305.7,12.3c-14.8,21.5-24.6,47.6-34.8,71.1c10.3,23.8,20.3,43.2,35.3,65
c14.9-21.7,24.4-41.1,34.6-64.5C330.5,60.1,320.8,34,305.7,12.3"/>
</g>
<g id="matter">
<path class="st1" d="M278.4,76.7h-139c-5.4,0-9.9-4.4-9.9-9.9V47.4c0-5.4,4.4-9.9,9.9-9.9h139c5.4,0,9.9,4.4,9.9,9.9v19.4
C288.2,72.2,283.8,76.7,278.4,76.7z"/>
</g>
</svg>
【问题讨论】:
-
请发布您的 SVG。调试一个我们看不到的文件是相当困难的。
-
感谢 Paul,我是该网站的新手,不知道如何发布图像文件,但是,这是它的链接。 ![火箭] (sciencerockit.com/images/Rocket_Original.svg)
-
谢谢。你能解释一下“问题是我似乎无法让第二组元素以悬停状态显示”是什么意思吗?第二组是哪几组? “段_2”?如果您将 SVG 缩减为您遇到问题的元素并创建一个MCVE,这将很有帮助。
-
您发布的 SVG 也与您的 CSS 不匹配。您的 SVG 中没有
segment_1、segment_2等类的元素。 -
谢谢保罗,我精简了文件并编辑了问题。我希望这是有道理的。似乎给我带来问题的代码行是 .segment_1:hover #matter {display:block;} ,但我可能是错的。我正在使用测试文件来解决这个问题。可以在 ![rocket] (sciencerockit.com/images/rocket_test.svg) 上找到它