提问者:小点点

Matrerial ui复选框css在angular中跨组件重写


我正在尝试在我的主组件中覆盖材料UI复选框css,它工作得很好。但也有一些副作用,如窗体组件中复选框的css是重写的。有谁能提出一个解决这个问题的办法。

使用的HTML

 <mat-checkbox formControlName="home">
  Home
</mat-checkbox>

用于超载的css默认为灰色

::ng-deep .mat-checkbox .mat-checkbox-frame {
border-color: blue !important;
}

Form component mat复选框-对于该组件,它也将边框颜色覆盖为蓝色,而无需编写任何css

<mat-checkbox formControlName="form">
  Form
</mat-checkbox>

我相信这是由于使用了::ng-deep

我甚至还在Home组件中尝试了ViewEncapsulation。它仍然覆盖窗体组件中的css和这两个组件中的其他css。

如能就此提供任何帮助,我们将不胜感激。


共1个答案

匿名用户

若要仅在特定子组件内部应用样式,请添加:host选择器:

:host ::ng-deep .mat-checkbox .mat-checkbox-frame {
  border-color: blue !important;
}