【发布时间】:2021-08-21 09:07:46
【问题描述】:
一段时间以来,我一直在使用 kendos 库研究 Angular。我最近制作了一个包含标签的模式。选项卡中的内容按要求提供,但问题是我无法更改选项卡标题的文本颜色。文本具有默认的红色。 我尝试了很多东西,比如尝试赋予样式,添加 [ngClass] 指令。但对我没有任何作用。我查看了文档,但没有得到任何东西。
请帮忙
提前致谢
【问题讨论】:
标签: angular web kendo-ui frontend
一段时间以来,我一直在使用 kendos 库研究 Angular。我最近制作了一个包含标签的模式。选项卡中的内容按要求提供,但问题是我无法更改选项卡标题的文本颜色。文本具有默认的红色。 我尝试了很多东西,比如尝试赋予样式,添加 [ngClass] 指令。但对我没有任何作用。我查看了文档,但没有得到任何东西。
请帮忙
提前致谢
【问题讨论】:
标签: angular web kendo-ui frontend
最可能的原因是view encapsulation。
基本上,视图封装,默认设置为emulated,意思是每个组件的样式都封装到组件的视图中,不影响其他组件。这也意味着在父组件中定义的样式不会影响子组件。
您在包含 Kendo TabStrip 组件的组件中定义的样式不会穿透 TabStrip 的视图封装。
要强制样式穿透视图封装,请在 CSS 选择器中使用 :host ::ng-deep,如下所示:
:host ::ng-deep .k-tabstrip-items .k-item .k-link {
color: blue;
}
注意:::ng-deep 伪类已被弃用,不应正式使用,但仍然没有替代品,因此我们将一直使用它,直到出现替代品。
注意2::host选择器用于限制::ng-deep对当前组件及其子组件的影响,防止其影响其他组件。
【讨论】: