将 Material 2 中的单选按钮颜色更改为普通 CSS
Change radio button color in Material 2 with plain CSS
我在更改 Angular Material 2 组件的单选按钮颜色时遇到问题。我搜索了其他答案,但无法正常工作。
这是 Material 2 单选按钮示例中的一个 plunkr:
https://plnkr.co/edit/JNDRKkF2oAxU5gPsR4lO?p=preview
我知道它适用于这条线
<md-radio-button color="primary" class="example-radio-button"
*ngFor="let season of seasons" [value]="season">
{{season}}
</md-radio-button>
但是我不能使用 "color" 属性 因为我们使用的是 Material 2 的旧版本,目前我们无法升级它。
所以有人知道如何在上面的示例中使用普通的 CSS 来做到这一点,我将不胜感激。我试了一个多小时了..
您可以使用 ::ng-deep
来完成。将以下 类 添加到您的组件样式中:
/deep/ .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{
border-color: green;
}
/deep/ .mat-radio-button.mat-accent .mat-radio-inner-circle{
background-color: green;
}
看到这个PLUNKER DEMO
由于您的 angular 版本是 2.4.3,我假设您使用的是 beta.2 或更旧版本的 material(beta.3 及更高版本需要 angular 4.x).旧版本中的 classes 与当前版本具有不同的 class 名称。所以,您可以尝试以下 css:
Material beta.1:
/deep/ .md-radio-inner-circle {
background-color: skyblue; /* Pick your color */
}
/deep/ .md-radio-checked .md-radio-outer-circle {
border-color: skyblue; /* Pick your color */
}
Plunker demo 使用 Angular 2.4.1 和 Material beta.1
Material beta.2:
/deep/ .mat-radio-inner-circle {
background-color: yellow;
}
/deep/ .mat-radio-checked .mat-radio-outer-circle {
border-color: lime;
}
Plunker demo 使用 Angular 2.4.1 和 Material beta.2
::ng-deep .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element {
background-color: blue !important;
}
::ng-deep .mat-radio-button.mat-accent .mat-radio-inner-circle {
background-color: blue !important; /*inner circle color change*/
}
::ng-deep.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
border-color: blue !important; /*outer ring color change*/
}`enter code here`
我在更改 Angular Material 2 组件的单选按钮颜色时遇到问题。我搜索了其他答案,但无法正常工作。
这是 Material 2 单选按钮示例中的一个 plunkr:
https://plnkr.co/edit/JNDRKkF2oAxU5gPsR4lO?p=preview
我知道它适用于这条线
<md-radio-button color="primary" class="example-radio-button"
*ngFor="let season of seasons" [value]="season">
{{season}}
</md-radio-button>
但是我不能使用 "color" 属性 因为我们使用的是 Material 2 的旧版本,目前我们无法升级它。
所以有人知道如何在上面的示例中使用普通的 CSS 来做到这一点,我将不胜感激。我试了一个多小时了..
您可以使用 ::ng-deep
来完成。将以下 类 添加到您的组件样式中:
/deep/ .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{
border-color: green;
}
/deep/ .mat-radio-button.mat-accent .mat-radio-inner-circle{
background-color: green;
}
看到这个PLUNKER DEMO
由于您的 angular 版本是 2.4.3,我假设您使用的是 beta.2 或更旧版本的 material(beta.3 及更高版本需要 angular 4.x).旧版本中的 classes 与当前版本具有不同的 class 名称。所以,您可以尝试以下 css:
Material beta.1:
/deep/ .md-radio-inner-circle {
background-color: skyblue; /* Pick your color */
}
/deep/ .md-radio-checked .md-radio-outer-circle {
border-color: skyblue; /* Pick your color */
}
Plunker demo 使用 Angular 2.4.1 和 Material beta.1
Material beta.2:
/deep/ .mat-radio-inner-circle {
background-color: yellow;
}
/deep/ .mat-radio-checked .mat-radio-outer-circle {
border-color: lime;
}
Plunker demo 使用 Angular 2.4.1 和 Material beta.2
::ng-deep .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element {
background-color: blue !important;
}
::ng-deep .mat-radio-button.mat-accent .mat-radio-inner-circle {
background-color: blue !important; /*inner circle color change*/
}
::ng-deep.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
border-color: blue !important; /*outer ring color change*/
}`enter code here`