Angular 如何定制特定垫子徽章的颜色?
我有两个胸章,一个是红色的,一个是黄色的。对于我正在使用的红色: =0“matBadge=“{element.failedTests}}”matBadgeColor=“warn”> 对于另一个,我无法从默认matBadgeColor值中找到黄色。如何自定义它Angular 如何定制特定垫子徽章的颜色?,angular,mat,Angular,Mat,我有两个胸章,一个是红色的,一个是黄色的。对于我正在使用的红色: =0“matBadge=“{element.failedTests}}”matBadgeColor=“warn”> 对于另一个,我无法从默认matBadgeColor值中找到黄色。如何自定义它 如果使用材质主题:深紫色琥珀色 要获得黄色,您需要matBadgeColor=“accent”Tbh。我不太喜欢棱角材质,因为它们比自创组件受到更深的锁定。当然,有办法覆盖这些样式,但我个人认为这只是一个令人讨厌的工作流程 我想到了三种可能
如果使用材质主题:深紫色琥珀色
要获得黄色,您需要
matBadgeColor=“accent”
Tbh。我不太喜欢棱角材质,因为它们比自创组件受到更深的锁定。当然,有办法覆盖这些样式,但我个人认为这只是一个令人讨厌的工作流程
我想到了三种可能,它们可以实现你想要的:
希望对您有所帮助!(:您可以使用以下css样式来实现这一点
.mat-badge-content {
background: red;
color: blue;
}
来自@nipun kavishka的答案已经足够好了 但是,如果您想让材料在任何地方都使用您的公司颜色,请查看角度主题页面,该页面有关于如何创建您自己的主题的说明:
例如,您可以在这里定义每个组件的“主”颜色,这样您就不需要在CSS中以材质类为目标,例如
.mat-badge-content
,如果您想覆盖现有的材质颜色,那么我使用它:
TypeScript
@Component({
...
encapsulation: ViewEncapsulation.None,
...
})
HTML
<div matBadge="10" matBadgeColor="primary">
<div matBadge="99" matBadgeColor="accent">
<div matBadge="@" matBadgeColor="custom">
[matBadgeColor=primary]{
.mat-badge-content{
background : #05a3ff;
color: #fff;
}
}
[matBadgeColor=accent]{
.mat-badge-content{
background : #69ff05;
color: #fff;
}
}
/** CUSTOM **/
[matBadgeColor=custom]{
.mat-badge-content{
background : #c6c6c6;
color: #fff;
}
}