mav*_*ise 19 css spinner angular-material angular
有谁知道如何更改Angular材料中的mat-spinner颜色?重写css不起作用.我尝试更改材料文件中的颜色,但它们只能导入,我无法更改任何内容.我希望它是我的自定义颜色,而不是prebiult主题的颜色.
Nit*_*ale 29
将此代码用于**<mat-spinner>**将此代码添加到.css文件中
.mat-progress-spinner circle, .mat-spinner circle {
stroke: #3fb53f;
}
Run Code Online (Sandbox Code Playgroud)
Mor*_*smo 15
如果您不想搞乱全局 CSS,并且需要一种方法将微调器在应用程序的不同区域设置为不同的颜色,我强烈建议为其创建一个指令。
import { Directive, Input, ElementRef, AfterViewInit } from '@angular/core';
@Directive({
selector: "[customSpinner]"
})
export class CustomSpinnerDirective implements AfterViewInit{
@Input() color: string;
constructor(
private elem: ElementRef
){}
ngAfterViewInit(){
if(!!this.color){
const element = this.elem.nativeElement;
const circle = element.querySelector("circle");
circle.style.stroke = this.color;
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么旋转器应该像这样工作:
<mat-spinner diameter="22" customSpinner color="#fff"></mat-spinner>
Run Code Online (Sandbox Code Playgroud)
Deb*_*oti 14
轻松修复!
在style.css而不是 component.css 文件中添加自定义 css 规则
.mat-progress-spinner circle, .mat-spinner circle {
stroke: #2A79FF!important;
}
Run Code Online (Sandbox Code Playgroud)
Erw*_*wol 11
对于在Angular 4/6/7中寻求灵活解决方案的用户来说,此答案将起作用。如果您不想在组件级别更改垫旋转器的颜色,则需要使用::ng-deep
选择器。知道这一点,解决方案就很容易。
<div class="uploader-status">
<mat-spinner></mat-spinner>
</div>
Run Code Online (Sandbox Code Playgroud)
.uploader-status ::ng-deep .mat-progress-spinner circle, .mat-spinner circle {
stroke: #000000;
}
Run Code Online (Sandbox Code Playgroud)
.uploader-status
css类封装了组件。您可以只使用::ng-deep
而不使用类,但是您对垫旋转器所做的任何更改都将出现在应用程序的其他区域。检查此以了解更多信息。
添加到您的 .css/.scss 组件文件样式(它将在本地工作 - 仅在组件中)
:host ::ng-deep .mat-progress-spinner circle, .mat-spinner circle {
stroke: #bada55;
}
Run Code Online (Sandbox Code Playgroud)
小智 9
.mat-mdc-progress-spinner { --mdc-circular-progress-active-indicator-color: white; }
这对我使用 Angular 15 有用。
小智 8
mat-spinner html 代码:
<mat-spinner color="accent" diameter="20" class="loading"></mat-spinner>
现在 sass 代码:
.mat-spinner {
::ng-deep circle {
stroke: #33dd82;
}
}
Run Code Online (Sandbox Code Playgroud)