Detaillierte Erklärung zum Ändern des Stils von el-select: popper-append-to-body und popper-class

Detaillierte Erklärung zum Ändern des Stils von el-select: popper-append-to-body und popper-class

So ändern Sie den Stil der von elementUI bereitgestellten el-select-Komponente

Im Internet gibt es viele Lösungen für dieses Problem:

1. Suchen Sie den Klassennamen des Dropdown-Felds und schreiben Sie einen全局樣式覆蓋.
2. Ändern Sie den Stil von .el-select-dropdown__item
3. Ändern Sie den Stil über popper-class

Allerdings trifft die obige Methode nicht den Kern. Das Überschreiben des globalen Stils ist definitiv nicht benutzerfreundlich, und auch das Ändern des Stils und das Hinzufügen von Klassen funktionieren nicht. Also habe ich mir den Stil der Dropdown-Box angesehen. Sie befand sich nicht in el-select , sondern auf der äußersten Ebene, wie unten gezeigt:

Dann habe ich auf der offiziellen Website nachgesehen, ob es eine Eigenschaft zur Steuerung gibt, und tatsächlich gibt es so etwas wie „person popper-append-to-body :

Der Standardwert ist true . Ändern Sie ihn in false , damit es funktioniert.

HTML

<el-Auswahl
    :popper-append-to-body="false"
    v-Modell="Aufgabentyp"
    Platzhalter="Bitte auswählen"
    Größe="mini"
    Klasse="Stil auswählen"
    Popper-Klasse = "Popper auswählen"
  >
    <el-Option
      v-for="(Element, Index) in Aufgabentypen"
      :Schlüssel="Index"
      :Wert="Artikel.Wert"
      :label="Artikel.label"
    ></el-Option>
  </el-Auswahl>

Die Codestruktur ist wie folgt:

Tatsächlich ändert dies nur den Stil innerhalb des Dropdown-Felds. Der Stil des Eingabefelds muss ebenfalls geändert werden, indem der Stil .el-input__inner geändert wird:

CSS

.Stil auswählen {
    Breite: 3rem;
    Rand rechts: 0,36rem;
    /deep/.el-input__inner {
      Rahmen-oben-links-Radius: 0;
      Rahmen unten links-Radius: 0;
      Rand: 1px durchgezogen #a1a3ad;
      Rahmenbreite links: 0;
      Hintergrundfarbe: rgba(0, 0, 0, 0,8);
      Schriftfamilie: PingFangSC-Regular;
      Schriftgröße: 0,28rem;
      Farbe: rgba(255, 255, 255, 0,6);
    }
  }

Fügen Sie abschließend den Stil von .select-popper hinzu:

/deep/.select-popper {
    Hintergrundfarbe: $item-bg-color;
    Randradius: 0,08rem;
    Rand: durchgezogen 0,02rem #1c395d;
    Schriftfamilie: PingFangSC-Regular;
    .el-select-dropdown__item.selected {
      Schriftfamilie: PingFangSC-Regular;
      Schriftgröße: 0,28rem;
      Farbe: rgba (74, 141, 253, 1);
    }
    li {
      Farbe: #fff;
      Hintergrund: transparent;
      Farbe: #fff;
      Schriftgröße: 0,28rem;
    }
    .el-select-dropdown__item:hover,
    .el-select-dropdown__item.hover {
      Hintergrundfarbe: rgba(110, 147, 206, 0,2);
      Rand rechts: 1px;
    }
    .popper__arrow::nach {
      Farbe des unteren Rahmens: $item-bg-color;
    }
    .popper__arrow {
      Farbe des unteren Rahmens: $item-bg-color;
    }
    .el-select-dropdown__empty {
      Polsterung: 0,2rem;
      Schriftgröße: 0,28rem;
    }
  }

Zusammenfassen

Wichtiger Punkt: :popper-append-to-body="false" , dann popper-class hinzufügen, um den Stil zu ändern.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Professionelles und nicht-professionelles Webdesign

>>:  JavaScript-Grundlagen: Funktion zur sofortigen Ausführung

Artikel empfehlen

MySQL-Primärschlüssel-Benennungsstrategie im Zusammenhang

Als ich kürzlich die Details der Datenlebenszyklu...

So erstellen Sie eine Ansicht für mehrere Tabellen in MySQL

Erstellen Sie in MySQL eine Ansicht für zwei oder...

So erstellen Sie Ihre eigene Angular-Komponentenbibliothek mit DevUI

Inhaltsverzeichnis Vorwort Erstellen einer Kompon...

Webdesign-Erfahrung: Selbstgerechte Webdesigner

1. Trash oder Klassiker? Die Webtechnologie aktua...

Implementierung von LNMP für die separate Bereitstellung von Docker-Containern

1. Umweltvorbereitung Die IP-Adresse jedes Contai...

WeChat-Miniprogramme implementieren Sternebewertung

In diesem Artikel wird der spezifische Code für d...

So fügen Sie eine Festplatte in Vmware hinzu: Erweitern Sie die Festplatte

In diesem Artikel wird beschrieben, wie Sie eine ...

Natives JS zur Implementierung der E-Mail-Eingabeaufforderung im Anmeldefeld

Dieser Artikel beschreibt eine native JS-Implemen...

Verwendung des if-Urteils in HTML

Während der Django-Webentwicklung wird beim Schre...

Detaillierte Erläuterung des Ausführungsprozesses der MySQL-Update-Anweisung

Es gab bereits einen Artikel über den Ausführungs...

JS implementiert Click-Drop-Effekt

js realisiert den Spezialeffekt des Klickens und ...

Beispielcode zur Implementierung des wellenförmigen Wasserballeffekts mit CSS

Heute habe ich einen neuen CSS-Spezialeffekt gele...

Front-End-JavaScript-Funktionsprinzip

Inhaltsverzeichnis 1. Was ist eine JavaScript-Eng...

So überwachen und löschen Sie abgelaufene Sitzungen in Tomcat

Vorwort Ich habe zufällig entdeckt, dass die halb...