如何强制Angular不要封装嵌套规则?

时间:2018-05-03 11:04:45

标签: angular angular-material

我有简单的要求设置mat-tab-group的标题部分的样式。以下规则适用更多精细

   mat-tab-group.buttons-tab { 
      > .mat-tab-header {
        ... some more rules 
      }
  }

但是,这必须在全局CSS中完成,而我想将其封装在使用过的组件中(因为这是唯一使用此自定义样式的地方)。 Angular封装了buttons-tab类,但它也封装了.mat-tab-header。由于内部mat-tab-headers未被封装,因此此封装可防止规则受到限制。 关闭我的组件的封装不是一个选项,因为它包含更多需要封装的样式。

所以问题是

  1. 是否可以关闭嵌套规则的封装?
  2. 也许可以将多个样式文件添加到@Component并分别为每个文件设置封装。
  3. 使用全局样式(或关闭封装)是唯一可行的解​​决方案吗?

1 个答案:

答案 0 :(得分:-2)

在要阻止视图封装的组件中,您可以放置​​代码(Inside @Component块):

   encapsulation: ViewEncapsulation.None

在这里阅读更多相关内容: https://angular.io/guide/component-styles#view-encapsulation