Je pensais que ce serait simple, mais j'ai du mal à définir la couleur d'arrière-plan d'un en-tête de carte dans les matériaux Angular2 et je ne trouve aucun exemple. Par conséquent, étant donné le code suivant, j'apprécierais des conseils sur la façon de définir la couleur d'arrière-plan de md-card-title:
<md-card>
<md-card-header>
<md-card-title>Title</md-card-title>
<md-card-subtitle>Subtitle</md-card-subtitle>
</md-card-header>
<md-card-content>
Body text
</md-card-content>
</md-card>
Ajoutez simplement [style.backgroundColor]="'COLOR_YOU_WANT'"
dans votre <md-card-header>
sélecteur:
<md-card>
<md-card-header [style.backgroundColor]="'yellow'">
<md-card-title>Title</md-card-title>
<md-card-subtitle>Subtitle</md-card-subtitle>
</md-card-header>
<md-card-content>
Body text
</md-card-content>
</md-card>
Lien vers démonstration de travail .
Vous pouvez également ajouter une classe dans votre fichier css:
.custom-card {
background-color: gray;
}
et définissez le [ngClass]
dans votre <md-card-header>
sélecteur:
<md-card>
<md-card-header [ngClass]="{'custom-card':true}">
<md-card-title>Title</md-card-title>
<md-card-subtitle>Subtitle</md-card-subtitle>
</md-card-header>
<md-card-content>
Body text
</md-card-content>
</md-card>
ou une autre alternative consiste à utiliser [ngStyle]
:
<md-card [ngStyle]="{'padding':'0px'}">
<md-card-header [ngStyle]="{'background-color':'green'}">
<md-card-title [ngStyle]="{'font-size':'24px'}">Title</md-card-title>
<md-card-subtitle [ngStyle]="{'font-size':'12px', 'color':'white'}">Subtitle</md-card-subtitle>
</md-card-header>
<md-card-content>
Body text
</md-card-content>
</md-card>
L'un ou l'autre de ces éléments aiderait à définir l'arrière-plan de l'en-tête:
Utilisation ::ng-deep
::ng-deep .mat-card-header {
background-color: red !important;
padding: 5px !important;
}
::ng-deep .mat-card {
padding: 0 !important;
}
::ng-deep .mat-card-content {
padding: 5px !important;
}
Utilisation encapsulation: ViewEncapsulation.None
sur les composants décorateur an
.mat-card-header {
background-color: red !important;
padding: 5px !important;
}
.mat-card {
padding: 0 !important;
}
.mat-card-content {
padding: 5px !important;
}
Le matériau angulaire utilise des palettes, il y a donc deux façons:
!important
flag pour remplacer les couleurs par défaut (si cela ne fonctionne pas sans le flag, et dans de nombreux cas il ne le fait pas), comme ceci: md-card-title { background-color: green !important; }
(dans certains cas, vous aurez besoin de ::ng-deep
également pour accéder à ces éléments)::ng-deep md-card-title {
background-color: green !important;
}