Mat-Select-Panel in eckigem Material gestalten
Um das Mat-Select-Panel zu formatieren, können Sie im HTML-Markup eine benutzerdefinierte PanelClass angeben , wie Sie es getan haben:
<mat-select placeholder="Search for" [(ngModel)]="searchClassVal" panelClass="my-select-panel-class" (change)="onSearchClassSelect($event)"> <mat-option *ngFor="let class of searchClasses" [value]="class.value">{{class.name}}</mat-option> </mat-select>
Die Anwendung von CSS-Stilen auf diese benutzerdefinierte Panel-Klasse kann sich jedoch manchmal als problematisch erweisen. Lassen Sie uns mehrere mögliche Lösungen untersuchen:
Verwenden von ::ng-deep:
Verwenden Sie den ::ng-deep schattendurchdringenden Nachkommenkombinator, um die Stile zu erzwingen durch den untergeordneten Komponentenbaum:
<code class="css">::ng-deep .mat-select-content{ width:2000px; background-color: red; font-size: 10px; }</code>
ViewEncapsulation verwenden:
Setzen Sie den Kapselungsmodus auf ViewEncapsulation.None, um die Ansichtskapselung zu unterbrechen und die Stile anzuwenden direkt aus der Komponente:
<code class="typescript">@Component({ .... encapsulation: ViewEncapsulation.None }) </code>
Hinzufügen von Stilen zu style.css:
Erzwingen Sie die Stile mit dem Schlüsselwort !important:
<code class="css">.mat-select-content{ width:2000px !important; background-color: red !important; font-size: 10px !important; } </code>
Einbinden von Inline-Stilen:
Wenden Sie Inline-Stile direkt auf das Mat-Option-Element an:
<code class="html"><mat-option style="width:2000px; background-color: red; font-size: 10px;" ...></code>
Diese Die Methoden sollten es Ihnen ermöglichen, das Mattenauswahlfeld in Angular Material erfolgreich zu gestalten.
Das obige ist der detaillierte Inhalt vonSo gestalten Sie das Mat-Select-Panel in eckigem Material: Eine Anleitung zu verschiedenen Techniken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!