【发布时间】:2013-11-29 12:07:12
【问题描述】:
我在我的页面上的object 标记中包含了一个 SVG 图像文件,如下所示:
<object type="image/svg+xml" data="linkto/image.svg">
<!-- fallback image in CSS -->
</object>
有问题的图像是世界地图,当鼠标悬停在 group 上时,我想转换 fill 属性,在这种情况下,我按大陆对 SVG 进行了分组,所以南美洲看起来像这样:
<g id="south_america">
<path fill="#FAFAFA" d="(edited for brevity)"/>
</g>
通过在我的 SVG 文档顶部使用以下 CSS,我可以在悬停时更改 fill 属性:
<style>
#south_america path {
transition: fill .4s ease;
}
#south_america:hover path {
fill:white;
}
</style>
但我无法通过 CSS 过渡让 fill 颜色淡入,颜色会立即改变,有人能解释一下吗?
【问题讨论】:
-
这可能与您通过 HTML 中的填充属性设置原始填充以及通过 CSS 设置悬停填充有关,但我必须进行一些测试才能确定。 JSFiddle 真的很有帮助。
-
嗯,很有趣,我没有考虑过,我会再深入一点,同时这里有一个小提琴:jsfiddle.net/YLs6B
-
这是
#europe似乎正在工作的小提琴:JSFiddle。另外,#south_america在你给我的小提琴中不存在。 -
@DavidAlsbright #south_america 在那个小提琴中有 ID #south-america。北美也一样。如果您更改 id 以使用“_”它会选择美洲
标签: css svg hover css-transitions