Ich habe das, von dem ich annehmen würde, dass es funktioniert, aber nicht:
<mat-icon color="white">home</mat-icon>
Dann habe ich auch:
<button mat-raised-button color="accent" type="submit"
[disabled]="!recipientForm.form.valid">
<mat-icon color="white">save</mat-icon>SAVE
</button>
Dieses Code-Snippet funktioniert aus irgendeinem Grund (zeigt das Symbol als weiß an).
Wie bekomme ich den einsamen mat-icon
um als weiß zu erscheinen mit das color
Attribut? (Ich kann einfach eine weiße Klasse hinzufügen, aber ich möchte das verstehen.)
Das liegt daran, dass die Eingabe color
nur drei Attribute akzeptiert: "primary"
, "accent"
oder "warn"
. Mit anderen Worten, Sie entweder:
Stellen Sie Ihr Thema als Weiß für Primär/Akzent ein.
styles.scss
:
@import '[email protected]/material/theming';
@include mat-core();
$app-primary: mat-palette($mat-white);
$app-accent: mat-palette($mat-pink);
$app-theme: mat-light-theme($app-primary, $app-accent);
@include angular-material-theme($app-theme);
Verwendung ist wie folgt:
<mat-icon color="primary">menu</mat-icon>
Oder:
Füge einfach eine Klasse hinzu, um dein Icon zu stylen:
.white-icon {
color: white;
}
/* Note: If you're using an SVG icon, you should make the class target the `<svg>` element */
.white-icon svg {
fill: white;
}
Fügen Sie die Klasse zu Ihrem Symbol hinzu:
<mat-icon class="white-icon">menu</mat-icon>
Fügen Sie in der Datei component.css oder app.css Symbolfarbstile hinzu
.material-icons.color_green { color: #00FF00; }
.material-icons.color_white { color: #FFFFFF; }
Stellen Sie in der component.html die Icon-Klasse ein
<mat-icon class="material-icons color_green">games</mat-icon>
<mat-icon class="material-icons color_white">cloud</mat-icon>
ng bauen
Oder einfach
füge deinem Element hinzu
[ngStyle]="{'color': , myVariableColor}"
z.B
<mat-icon [ngStyle]="{'color': myVariableColor}">{{ getActivityIcon() }}</mat-icon>
Wobei color
an einer anderen Komponente usw. Definiert werden kann
<mat-icon style="-webkit-text-fill-color:blue">face</mat-icon>
color="white"
Ist kein bekanntes Attribut für Angular Material.
das Farbattribut kann in primary
, accent
und warn
geändert werden. wie gesagt in diesem doc
ihr Symbol innerhalb der Schaltfläche funktioniert, weil die übergeordnete Klasse der Schaltfläche die CSS-Klasse color:white
hat oder möglicherweise Ihre color="accent"
weiß ist. Überprüfen Sie die Entwicklertools, um es zu finden.
Standardmäßig verwenden Symbole die aktuelle Schriftfarbe