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

So deinstallieren Sie MySQL 5.7 unter CentOS7

Überprüfen Sie, was in MySQL installiert ist grep...

Detaillierte Erklärung, wo das von Docker abgerufene Image gespeichert ist

20200804Nachtrag: Der Artikel könnte falsch sein....

React implementiert den Beispielcode der Radiokomponente

Ziel dieses Artikels ist es, die Grundfunktionen ...

Detaillierte Erklärung zur Verwendung von HTML-Einbettungs-Tags und -Attributen

1. Grundlegende Grammatik Code kopieren Der Code ...

Automatisches Erstellen und Bereitstellen mit Docker+Jenkins

Dieser Artikel stellt die automatische Build-Bere...

So optimieren Sie MySQL-Indizes

1. Wie MySQL Indizes verwendet Indizes werden ver...

Verwendung des HTML-H-Titel-Tags

Die Verwendung von H-Tags, insbesondere h1, war sc...

Grundlegendes Lernen und Erfahrungsaustausch zu MySQL-Transaktionen

Eine Transaktion ist eine logische Gruppe von Ope...

So verwenden Sie die HTML 5 Drag & Drop-API in Vue

Die Drag & Drop-API fügt ziehbare Elemente zu...