css - 使用 SVG 中的 CSS/js 填充所有颜色

标签 css svg image-manipulation

我正在尝试从链接到 HTML 文档内部的外部 svg 设置形状的填充颜色,因此我使用 CSS/JS 来设置样式。

我目前只能进行笔画工作,但填充似乎被覆盖了。任何帮助将不胜感激

<svg style="fill:green" viewBox="0 0 1000 1000">
<!--        <image id="one" xlink:href="sears/alt1/body/willis-body.svg#body-windows-left" x="54.5" y="338"/>-->
<use style="fill:orange" class="icon" xlink:href="sears/alt1/body/willis-body.svg#body-windows-left" transform="translate(50 50)"/>
<use style="fill:orange" class="icon" xlink:href="sears/alt1/body/willis-body.svg#body-windows-left" transform="translate(350 50)"/>
</svg>

<style>
/*
    #svg {
        fill: none;
    }
*/


    use.icon:hover {
        stroke: teal;
        width: 100px;
        fill: orange !imporant;
    }

</style>

最佳答案

当你打算使用<use>它只复制你的<circle> obj 正如您看到的代码片段一样,您可以设置 <circle> 的样式同时它会影响<use>

#circle:hover {
  fill: blue;
}
<svg viewBox="0 0 1000 1000">
  <circle id="circle" cx="150" cy="150" r="150"/>
  <use href="#circle" x="10"  fill="red" transform="translate(350 50)"/>
  <use href="#circle" x="10"  fill="yellow" transform="translate(700 50)"/>
</svg>

如果你想为 <use> 设置样式

/* #circle:hover {
  fill: blue;
} */

.new:hover {
  fill: green;
}

.new2:hover {
  fill: pink;
}
<svg viewBox="0 0 1000 1000" id="tr">
  <circle id="circle" cx="150" cy="150" r="150"/>
  <use href="#circle" x="10"  class="new"fill="red" transform="translate(350 50)"/>
  <use href="#circle" x="10"  class="new2" fill="yellow" transform="translate(700 50)"/>
</svg>

关于css - 使用 SVG 中的 CSS/js 填充所有颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436641/

相关文章:

c++ - 将图像分割成 64x64 的 block

html - 我可以制作一个 svg 图像按钮吗?

javascript - 将包含图像和图案的 SVG 下载为 PDF

css - 如何在 Ember 中使用 css 动画

javascript - 样式表破坏网站

css - Firefox 上的 SVG 图像模糊

shell - 如何在命令行上以毫米为单位更改图像的打印尺寸?

c# - 图像重映射算法

javascript - 在 Rails 中使用 bootstrap-sass,Bootstrap/Javascript 不工作

jquery - 仅为嵌套模态显示模态背景