J'ai ceci, que je supposerais fonctionner, mais ne le fait pas:
<mat-icon color="white">home</mat-icon>
Ensuite, j'ai aussi:
<button mat-raised-button color="accent" type="submit"
[disabled]="!recipientForm.form.valid">
<mat-icon color="white">save</mat-icon>SAVE
</button>
Cet extrait de code, pour une raison quelconque, fonctionne (affiche l'icône en blanc).
Comment faire en sorte que le seul mat-icon
apparaisse en blanc avec l'attribut color
? (Je peux facilement ajouter une classe blanche, mais je veux comprendre cela)
En effet, l'entrée color
n'accepte que trois attributs: "primary"
, "accent"
ou "warn"
. En d'autres termes, vous pouvez soit:
Définissez votre thème en blanc pour primaire/accent.
styles.scss
:
@import '~@angular/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);
Utilisation est comme ci-dessous:
<mat-icon color="primary">menu</mat-icon>
Ou:
Ajoutez simplement une classe pour styler votre icône:
.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;
}
Ajoutez la classe à votre icône:
<mat-icon class="white-icon">menu</mat-icon>
Dans le composant.css ou app.css, ajoutez des styles de couleur d'icône.
.material-icons.color_green { color: #00FF00; }
.material-icons.color_white { color: #FFFFFF; }
Dans le composant.html, définissez la classe d'icônes
<mat-icon class="material-icons color_green">games</mat-icon>
<mat-icon class="material-icons color_white">cloud</mat-icon>
ng construire
Ou simplement
ajouter à votre élément
[ngStyle]="{'color': , myVariableColor}"
par exemple
<mat-icon [ngStyle]="{'color': myVariableColor}">{{ getActivityIcon() }}</mat-icon>
Où color
peut être défini sur un autre composant, etc.
<mat-icon style="-webkit-text-fill-color:blue">face</mat-icon>
color="white"
n'est pas un attribut connu de Angular Matériau.
l'attribut color peut être changé en primary
, accent
et warn
. comme dit dans ce doc
votre icône à l'intérieur du bouton fonctionne parce que son bouton de classe parent a la classe css de color:white
, ou peut être votre color="accent"
est blanc. vérifiez les outils de développement pour le trouver.
Par défaut, les icônes utiliseront la couleur de police actuelle.