svg - 如何通过访问 css 样式在 html 中引用 SVG
问题描述
我的项目(Angular 10)中包含了许多不同的 SVG。其中一些以不同的尺寸和填充颜色等多次使用。
我正在尝试找到一种在我的 html 代码中引用它们并可以通过样式访问它们的方法:
CSS:
.svg {
fill: red;
}
参考:
<svg>
<use></use>
</svg>
<object></object>
<img></img>
<embed></embed>
到目前为止,我还没有找到一个解决方案,可以让我引用它们,但也能够像添加内联时那样访问 SVG 本身的填充属性。
排队:
<svg>
<path>
</path>
</svg>
内联添加它们会很麻烦。
这通常是如何处理的?
感谢您的帮助!
解决方案
你不能。CSS 不适用于跨文档边界。如果 CSS 规则在 HTML 中(或通过 导入到 HTML 中<link>
),那么它不会影响外部文件的内容。
人们过去使用的一种解决方案是在运行时使用一些 Javascript 来内联 SVG 文件。
否则,您需要将 CSS 放入外部 SVG 本身。
推荐阅读
- vba - Webscraping:如何使用 VBA 从网页上的下拉列表中选择一个值(选项)
- java - Java 中的传统锁如何防止并行访问?
- reactjs - 无法在 React 中的函数中传递数据
- php - 在 PHP 中生成一系列类似版本的值的顺序数组
- angular - 在 Angular 9 中完成另一个命令后执行一个命令
- ios - Navigationbar titleView中的自定义视图消失iOS Swift
- visual-studio-code - 让 vscode registerCompletionItemProvider 在带有 `word.` 触发器的 json 文件中工作
- python - Groupby 使用字典的多索引列
- android - 如何从kotlin-android检查realmResult中的空?
- python - 带有产生 NameError 的函数链的 Python exec