如何设置HTML中包含的无符号名称的外部SVG文件的样式?

时间:2018-11-29 13:35:19

标签: html css svg

我有一个看起来像这样的SVG文件(为简洁起见,省略了d属性的值):

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="..."/></svg>

我想将此文件嵌入HTML(不包括内联的SVG源代码)。我知道有多种方法可以执行此操作,您可以使用<img src="file.svg"><object data="file.svg">等。我希望能够使用CSS设置此SVG文件的样式(在我的情况下,使颜色与HTML中文本的颜色匹配)。我也不想使用符号名称,因为我可以使用的SVG文件都不使用符号。

到目前为止,我还没有找到能够满足所有这三个要求的解决方案。要重申:

  1. HTML代码需要引用外部SVG文件
  2. 必须可以使用外部CSS设置SVG图像的样式
  3. 它不得要求SVG文件中包含符号名称。

如果不可能,请告诉我,我会接受作为答案。

1 个答案:

答案 0 :(得分:0)

如果SVG的代码中未定义填充颜色,则应该可以这样做。我可能会误会。你尝试过类似的东西吗?

HTML

<svg class="icon-1">
   <use xlink:href="#icon-1"></use>
</svg>

CSS

.svg {
  fill: red;
}

来源: https://css-tricks.com/svg-use-with-external-reference-take-2/