md-checkbox角度材料样式

Geo*_*ios 10 css angularjs angular-material2

使用Angular4的Angular材质,我检查后找不到更改复选框颜色的方法.

在初始视图中修改样式的唯一方法是:

:host /deep/ .mat-checkbox-inner-container{
     height:15px;
     width:15px; 
     background-color: rgba(0, 255, 0, 0.87);
}
Run Code Online (Sandbox Code Playgroud)

尝试在选中后更改样式,以下操作无效:

:host /deep/ .mat-checkbox-checked {
background-color:yellow;   
}
Run Code Online (Sandbox Code Playgroud)

它实际上是在检查后应用,但是在错误的元素中 - 不适用于内部容器.

:host /deep/ .mat-checkbox-inner-container-checked这样的东西不起作用.

欢迎任何帮助.

小智 19

试试这一个:)

.mat-checkbox-checked.mat-accent .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: rgb(27, 142, 241) !important;
}

.mat-ripple-element {
  background: rgba(27, 142, 241, .4) !important;
}
Run Code Online (Sandbox Code Playgroud)

  • 就我而言,我必须在两个起始行之前添加`:: ng-deep`.我希望这会帮助别人. (7认同)

geo*_*awg 5

试试这个:)

/deep/ .mat-checkbox-checked.mat-accent .mat-checkbox-background,
       .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background
{
  background-color: rgb(27, 142, 241) !important;
}

/deep/ .mat-ripple-element {
  background: rgba(27, 142, 241, .4) !important;
}
Run Code Online (Sandbox Code Playgroud)

在这里/deep/很重要,否则它将不起作用。根据Angular文档:

组件样式通常仅适用于组件自己的模板中的HTML。

使用/deep/刺穿阴影的后代组合器将样式向下强制通过子组件树进入所有子组件视图。/ deep /组合器适用于嵌套组件的任何深度,并且适用于该组件的视图子级和内容子级。

/deep/组合子也有别名>>>,和::ng-deep

https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep