„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum funktionieren meine Mat-Select-Bedienfeldstile nicht in eckigem Material?

Warum funktionieren meine Mat-Select-Bedienfeldstile nicht in eckigem Material?

Veröffentlicht am 11.11.2024
Durchsuche:986

Why Are My Mat-Select Panel Styles Not Working in Angular Material?

Styling von mat-select in Angular Material

Beim Anpassen des Erscheinungsbilds von mat-select kann es zu Herausforderungen beim Stylen der Panel-Komponente kommen. Obwohl Sie dem empfohlenen Ansatz folgen, die Eigenschaft „panelClass“ zum Angeben benutzerdefinierter Stile zu verwenden, werden die Stile nicht angewendet, was Sie verwirrt.

Warum die Stile nicht funktionieren

Angular Material verwendet Mat-Select -content als Klassenname für den Inhalt der Auswahlliste. Um diese Komponente zu formatieren, stehen mehrere Methoden zur Verfügung:

1. Verwenden von ::ng-deep

Verwenden Sie den schattendurchdringenden Nachkommenkombinator von ::ng-deep, um Stile durch untergeordnete Komponenten zu erzwingen.

::ng-deep .mat-select-content {
  width: 2000px;
  background-color: red;
  font-size: 10px;
}

2. Verwenden von ViewEncapsulation

Konfigurieren Sie die Ansichtskapselung der Komponente auf „Keine“, sodass Stile die Isolation der Komponente umgehen können.

@Component({
  ...
  encapsulation: ViewEncapsulation.None
})

3. Festlegen des Klassenstils in style.css

Verwenden Sie die Datei style.css, um benutzerdefinierte Stile zu definieren und erzwingen Sie diese mit !important, um alle vorhandenen Stile zu überschreiben.

.mat-select-content {
  width: 2000px !important;
  background-color: red !important;
  font-size: 10px !important;
}

4. Verwenden von Inline-Stilen

Wenden Sie Inline-Stile direkt auf die Mat-Option-Elemente an und überschreiben Sie alle geerbten Stile.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3