【问题标题】:How to dynamically colour svg images in a webpage? [duplicate]如何在网页中动态着色 svg 图像? [复制]
【发布时间】:2026-02-23 07:55:02
【问题描述】:

我正在尝试获取 svg 图像的特定部分(如果重要,则在 inkscape 中创建)以更改某些事件的颜色。我很确定我可以使用 css 来做到这一点,但我不知道如何从特定的 svg 文件中选择 id。 如果 svg 中的对象具有 id='ToChange' 并且 html 标记具有 id='svgToChange',我认为 css 将是

#svgToChange #ToChange :hover {...}

但这似乎不起作用。有任何想法吗? javascript 会更好吗?

【问题讨论】:

  • 这并不是真正的重复,因为他想用 css 而不是 javascript 来做这个。

标签: javascript html css svg


【解决方案1】:
#svgToChange:Hover #ToChange{fill: #whatever}

从提问者编辑:

我想出了怎么做,问题是因为我将 svg 放在 img 标签而不是 object 标签中。

【讨论】:

  • 非常正确,丹尼尔。我错过了#svgToChange 中的#,感谢您的收获。
  • 由于某种原因这对我不起作用? svg 的对象在一个单独的文件中定义,并使用 html img 标签引入;对象是
  • 你能贴支笔吗?
  • 笔?那会是什么?抱歉,这一切都是新手。
  • 这是一种玩代码和与社区分享的方式:codepen.io