J'ai cette sélection en matériau angulaire:
Son code:
<md-select placeholder="Descuentos y convenios" [(ngModel)]="passenger.discount">
<md-option [value]="null" [disabled]="true">
Descuentos
</md-option>
<md-option *ngFor="let option of discounts" [value]="option">
{{ option }}
</md-option>
<md-option [value]="null" [disabled]="true">
Convenios
</md-option>
<md-option *ngFor="let option of agreements" [value]="option">
{{ option }}
</md-option>
</md-select>
Et j'aimerais avoir ce style dedans:
J'ai essayé de mettre quelques classes sur md-select et md-option, mais cela n'a pas fonctionné .. Je voudrais peut-être avoir juste un exemple montrant comment mettre la couleur de fond ou la bordure et cela me donnerait une idée.
Merci d'avance
Si vous parvenez à résoudre vos problèmes de style avec le matériau 2 scss theming, c’est la bonne façon d’entendre un lien vers leur site . https://material.angular.io/guide/theming .
Cependant, j'ai utilisé! Important sur les styles, je ne voulais pas que les styles de matériaux soient écrasés.
Voici comment je l'ai utilisé:
/*hack to get rid of a scrollbar*/
.cdk-focus-trap-content{
overflow-x: hidden !important;
}
/*hack to get rid of a padding on the popup*/
.mat-dialog-container{
padding: 0px !important;
}
J'ai eu une situation où une barre de défilement horizontale apparaissait dans le md-sidenav et je me suis débarrassé de leur remplissage par défaut sur le md-dialog.
Pas la solution la plus élégante mais j'espère que cela aide.
Ceci est une autre question de StackOverflow qui traite de ce qui est! Important.
Les meilleures solutions de /deep/
, >>>
et ::ng-deep
sont obsolètes et ne doivent plus être utilisées.
La méthode recommandée est maintenant de voir l'encapsulation
Notre solution à ViewEncapsulation consistait à remplacer des CSS très spécifiques à l'aide de sélecteurs CSS très spécifiques dans 1) des fichiers CSS globaux ou 2) créant des fichiers de style distincts pour certains affichages/styles/éléments, importés dans chaque composant requis (exemple: styleUrls: [material-table-override.css, component.css]
) .
J'ai utilisé ViewEncapsulation.None pour remplacer avec succès les styles de table de matériau dans un seul composant dans Angular 6.
Sur votre composant:
import { ViewEncapsulation } from '@angular/core';
// ...
@Component({
// ...
encapsulation: ViewEncapsulation.None,
})
Pour modifier les styles des classes de superposition, comme mat-dialog-container, vous devez utiliser panelClass
selon Personnalisation des styles de composant Matériau angulaire :
Ajoutez ceci à votre feuille de style globale après la configuration de votre thème
.myapp-no-padding-dialog .mat-dialog-container {
padding: 0;
}
Utilisez ce qui suit pour ouvrir la boîte de dialogue
this.dialog.open(MyDialogComponent, {panelClass: 'myapp-no-padding-dialog'})
Vous pouvez essayer d'ajouter ce code.
.mat-dialog-container{
padding: 0px !important;
}
Si cela ne fonctionne pas, vous pouvez utiliser
/deep/.className {
... your code goes here
}