angular - 无法将 css 应用于 mat-icon 内的 svg 图标
问题描述
在 Angular 材质中设置 svg 图标样式时遇到问题。
控制器:
mdIconRegistry.addSvgIcon('testAnimation', sanitizer.bypassSecurityTrustResourceUrl(`${svgPath}/icons/testAnimation.svg`));
模板:
<a class="icon"><md-icon svgIcon="testAnimation"></md-icon></a>
风格:
.icon .st9 {fill: black}
问题是这个 css 规则不适用于图标 - 我不知道为什么。
在我的 svg 图像中有这样一个类的路径,可以通过document.querySelectorAll('.icon .st9')
. 我什至可以使用document.querySelectorAll('.icon .st9')[0].style.fill = 'black'
.
当我在没有材料的情况下直接在 html 中插入 svg - 它也可以正常工作。
解决方案
在您的 component.css 文件中尝试
:host ::ng-deep .icon .st9 {fill: black}
或者把你的css规则放在style.css中,但是一定要封装组件的名字,确保不会泄露
app-your-component .icon .st9 {fill: black}
推荐阅读
- html - 使用大型自定义拇指图像扩展输入范围的移动
- php - 按性别和年龄对多维数组进行排序
- php - 如何检查多个日期范围之间的重叠日期?
- windows - Docker 拉未经授权:需要身份验证
- c# - .NET Core 与 .NET Framework,我的代码作为 .NET Core 的一部分工作,但不作为 .NET 框架的一部分,为什么?
- scikit-learn - 如何将一组数字分成两个簇并返回对应索引的两个子集?
- .net-core - .NET Core 默认依赖注入与 Castle DynamicProxy
- python - 语法错误。无法通过输入语句
- java - @ManyToOne 出错 - JPA/Hibernate 分离实体传递给 Persist
- angular - .NET CORE 3 使用 Angular 9 加载速度极慢