【问题标题】:How to reference SVGs in html with access to css styling如何通过访问 css 样式在 html 中引用 SVG
【发布时间】:2021-01-09 17:39:15
【问题描述】:

我的项目(Angular 10)中包含了许多不同的 SVG。 其中一些以不同的大小和填充颜色等多次使用。

我正在尝试找到一种方法在我的 html 代码中引用它们并通过样式访问:

CSS:

.svg {
  fill: red;
}

参考:

<svg>
   <use></use>
</svg>
<object></object>
<img></img>
<embed></embed>

到目前为止,我还没有找到一种解决方案,既可以让我引用它们,又可以像添加内联时那样访问 SVG 本身的填充属性。

内联:

<svg>
   <path>
   </path>
</svg>

内联添加它们会很麻烦。

这通常是如何处理的?

感谢您的帮助!

【问题讨论】:

  • 这方面已经有很多问题了。为什么它们不能满足您的需求?
  • 嘿罗伯特,我无法从我查看的问题中弄清楚如何实现这一点。包含 svg 不是问题,但我无法使用项目 css 设置它们的样式。
  • 您查看了哪些问题,为什么它们对您不起作用?

标签: svg


【解决方案1】:

你不能。 CSS 不适用于跨文档边界。如果 CSS 规则在 HTML 中(或通过&lt;link&gt; 导入到 HTML 中),那么它不会影响外部文件的内容。

人们过去使用的一种解决方案是use a bit of Javascript to inline SVG files at runtime

否则,您需要将 CSS 放入外部 SVG 本身。

【讨论】:

    猜你喜欢
    • 2018-09-06
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2011-11-08
    • 2018-02-11
    • 1970-01-01
    相关资源
    最近更新 更多