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

Die Rolle von nextTick in Vue und mehrere einfache Anwendungsszenarien

Zweck Verstehen Sie die Rolle von nextTick und me...

MySQL InnoDB-Überwachung (Systemebene, Datenbankebene)

MySQL InnoDB-Überwachung (Systemebene, Datenbanke...

So fügen Sie einer Tabelle in SQL Felder und Kommentare hinzu

1. Felder hinzufügen: Tabelle Tabellennamen änder...

Lassen Sie sich die tiefe Kopie von js verstehen

Inhaltsverzeichnis js tiefe Kopie Methode der Dat...

So schreiben Sie Konfigurationsdateien und verwenden MyBatis einfach

So schreiben Sie Konfigurationsdateien und verwen...

Detaillierte Beispiele zur Float-Verwendung in HTML/CSS

1. Grundlegende Anwendungsbeispiele für Float 1. ...

Richtiger Einsatz von MySQL-Partitionstabellen

Übersicht über partitionierte MySQL-Tabellen Wir ...

Vue ruft die PC-Kamera auf, um die Fotofunktion zu realisieren

In diesem Artikelbeispiel wird der spezifische Co...