html - SVG 对象 - 改变颜色

标签 html css svg

<分区>

我刚开始使用 SVG,我遇到了一个问题 - 我无法更改通过“对象”粘贴的 SVG 图像的颜色。

我有以下代码:

<object data="../img/svg/test.svg" type="image/svg+xml"></object>

test.svg 文件:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" width="949.3px" height="949.3px" viewBox="0 0 949.3 949.3" style="enable-background:new 0 0 949.3 949.3;" xml:space="preserve">
<g>
    <path d="M899.3,338.1L544,337.7c0,0,20.6-84.3,24.3-123.8c2.5-27,3.101-53.9-3.1-80.5c-9.2-40-19.5-65-35.9-96   C520.5,21,503.5,10.8,485,10.8h-68.8c-27.7,0-50.101,22.5-50,50.2c0.2,46.3,0.2,108.1-0.8,110.2C338.4,228,307.1,282.5,271.8,334.5   c-16.1,23.8-33,46.9-52.6,68c-8.6,9.2-13.3,21.4-13.3,33.9v437.201c0,12.898,5,25.398,14,34.699   c13.4,13.801,37.4,30.199,76.8,30.199c124.3-0.5,325.7-1.6,468.899-0.6c17.9,0.1,34.5-9.299,43.5-24.799L935.4,696.9   c8.6-15,13.1-32,13.199-49.299l0.7-259.301C949.3,360.6,926.9,338.2,899.3,338.1z"/>
    <path d="M94.8,409.5H50c-27.6,0-50,22.4-50,50v429c0,27.602,22.4,50,50,50h44.7c27.6,0,50-22.398,50-50v-429   C144.8,431.9,122.4,409.5,94.8,409.5z"/>
</g>

如何更改此 SVG 的颜色?我已经尝试了一种不同的方法来嵌入 SVG 和“填充:”,但由于某种原因它不起作用。

提前致谢!

最佳答案

从另一个 answer of myself 派生的, 这会产生一只绿色的手,点击按钮会将其变为黄色。

  <svg fill="green" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" width="949.3px" height="949.3px" viewBox="0 0 949.3 949.3" style="enable-background:new 0 0 949.3 949.3;" xml:space="preserve" >
  <g>
      <path d="M899.3,338.1L544,337.7c0,0,20.6-84.3,24.3-123.8c2.5-27,3.101-53.9-3.1-80.5c-9.2-40-19.5-65-35.9-96   C520.5,21,503.5,10.8,485,10.8h-68.8c-27.7,0-50.101,22.5-50,50.2c0.2,46.3,0.2,108.1-0.8,110.2C338.4,228,307.1,282.5,271.8,334.5   c-16.1,23.8-33,46.9-52.6,68c-8.6,9.2-13.3,21.4-13.3,33.9v437.201c0,12.898,5,25.398,14,34.699   c13.4,13.801,37.4,30.199,76.8,30.199c124.3-0.5,325.7-1.6,468.899-0.6c17.9,0.1,34.5-9.299,43.5-24.799L935.4,696.9   c8.6-15,13.1-32,13.199-49.299l0.7-259.301C949.3,360.6,926.9,338.2,899.3,338.1z"/>
      <path d="M94.8,409.5H50c-27.6,0-50,22.4-50,50v429c0,27.602,22.4,50,50,50h44.7c27.6,0,50-22.398,50-50v-429   C144.8,431.9,122.4,409.5,94.8,409.5z"/>
  </g>
</svg>
<button onclick=Capa_1.style.fill="yellow";>Click to change to yellow</button>

关于html - SVG 对象 - 改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39947788/

上一篇:javascript - 如何在 JavaScript(或 CSS)中平均对齐使用循环、数组和附加子项创建的两个垂直列?

下一篇:html - 带 emmet 的下拉菜单

相关文章:

Javascript 高性能图形可视化工具包(500-1000节点)

javascript - HTML 动态更新 slider 输入

css - 对齐宽度为 100% - 60px 的 div 中的文本

css - 较少无法识别的输入边界半径

CSS浏览器缓存问题,img也会有同样的问题

javascript - 使用 React 计算 SVG 边界框?

javascript - 无需投影仪即可渲染模型

javascript - 在 jquery 中显示带有基本鼠标悬停事件的菜单

javascript - XSS:这如何安全?

html - 将背景悬停在最上面的 div 上?