Heim  >  Artikel  >  Web-Frontend  >  Wie gestaltet man das Mat-Select-Panel für eckiges Material?

Wie gestaltet man das Mat-Select-Panel für eckiges Material?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 10:20:03516Durchsuche

How to Style the Angular Material mat-select Panel?

Stilisierung des Mat-Select-Panels in eckigem Material

Problem

Beim Anpassen des Panels der Mat-Select-Komponente mit panelClass , CSS-Stile werden trotz korrekter Klassenzuweisung in der HTML-Vorlage nicht angewendet.

Lösung

Für Angular 9 und spätere Versionen:

<code class="css">.mat-select-panel {
    background: red;
    ....
}</code>

Für Angular 2.0.0- beta.12 und frühere Versionen gibt es mehrere Optionen zum Formatieren des Panels:

Option 1: Verwenden von ::ng-deep

Diese Methode verwendet ::ng -tiefer Kombinator, um in die Ansichtskapselung der Komponente einzudringen:

<code class="css">::ng-deep .mat-select-content{
    width:2000px;
    background-color: red;
    font-size: 10px;   
}</code>

Option 2: ViewEncapsulation verwenden

Durch Festlegen des Kapselungsmodus auf „Keine“ in den Komponentenmetadaten und CSS-Stilen sind nicht mehr in der Ansicht der Komponente gekapselt:

<code class="typescript">import {ViewEncapsulation } from '@angular/core';

@Component({
        ....
        encapsulation: ViewEncapsulation.None
 })  </code>

Option 3: Klassenstil in style.css festlegen

Stile direkt auf die .mat-select- Inhaltsklasse in der externen style.css-Datei, mit !important die Anwendung erzwingen:

<code class="css"> .mat-select-content{
   width:2000px !important;
   background-color: red !important;
   font-size: 10px !important;
 } </code>

Option 4: Inline-Stil verwenden

Definieren Sie Inline-Stile direkt innerhalb der HTML-Vorlage:

<code class="html"><mat-option style="width:2000px; background-color: red; font-size: 10px;" ...></code>

Das obige ist der detaillierte Inhalt vonWie gestaltet man das Mat-Select-Panel für eckiges Material?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn