el-select のスタイルを変更する方法の詳細な説明: popper-append-to-body と popper-class

el-select のスタイルを変更する方法の詳細な説明: popper-append-to-body と popper-class

elementUI が提供する el-select コンポーネントのスタイルを変更する方法

この問題に対する解決策はインターネット上にたくさんあります。

1. ドロップダウン ボックスのクラス名を見つけて、それを全局樣式覆蓋を記述します。
2. .el-select-dropdown__itemのスタイルを変更する
3. 公式サイトで提供されているpopper-classを使用してスタイルを変更します。

しかし、上記の方法は要点を押さえていません。グローバル スタイルをオーバーライドすることは決してユーザーフレンドリーではありませんし、スタイルを変更したりクラスを追加したりしても機能しません。そこで、ドロップダウン ボックスのスタイルを確認しました。ドロップダウン ボックスはel-selectではなく、次のように最外層に配置されていました。

次に、公式 Web サイトにアクセスして、それを制御するプロパティがあるかどうかを確認したところ、確かに、 popper-append-to-bodyというプロパティがありました。

デフォルト値はtrueです。動作させるにはfalseに変更してください。

html

<el-選択
    :popper-append-to-body="false"
    v-model="タスクタイプ"
    placeholder="選択してください"
    サイズ="ミニ"
    クラス="select-style"
    ポッパークラス="select-popper"
  >
    <el-オプション
      v-for="(item,index) in taskTypes"
      :key="インデックス"
      :value="アイテムの値"
      :label="アイテム.ラベル"
    </el-option>
  </el-select>

コード構造は次のとおりです。

実際、これはドロップダウン ボックス内のスタイルのみを変更します。入力ボックスのスタイルも、 .el-input__innerスタイルを変更して変更する必要があります。

CS

.select-style {
    幅: 3rem;
    右マージン: 0.36rem;
    /deep/.el-input__inner {
      左上の境界線の半径: 0;
      境界線の左下の半径: 0;
      境界線: 1px実線 #a1a3ad;
      左境界線の幅: 0;
      背景色: rgba(0, 0, 0, 0.8);
      フォントファミリ: PingFangSC-Regular;
      フォントサイズ: 0.28rem;
      色: rgba(255, 255, 255, 0.6);
    }
  }

最後に、 .select-popperのスタイルを添付します。

/deep/.select-popper {
    背景色: $item-bg-color;
    境界線の半径: 0.08rem;
    境界線: 実線 0.02rem #1c395d;
    フォントファミリ: PingFangSC-Regular;
    .el-select-dropdown__item.selected {
      フォントファミリ: PingFangSC-Regular;
      フォントサイズ: 0.28rem;
      色: rgba(74, 141, 253, 1);
    }
    li {
      色: #fff;
      背景: 透明;
      色: #fff;
      フォントサイズ: 0.28rem;
    }
    .el-select-dropdown__item:hover,
    .el-select-dropdown__item.hover {
      背景色: rgba(110, 147, 206, 0.2);
      右マージン: 1px;
    }
    .popper__arrow::after {
      下部の境界線の色: $item-bg-color;
    }
    .ポッパー__矢印{
      下部の境界線の色: $item-bg-color;
    }
    .el-select-dropdown__empty {
      パディング: 0.2rem;
      フォントサイズ: 0.28rem;
    }
  }

要約する

キーポイント: :popper-append-to-body="false" 、次にpopper-classを追加してスタイルを変更します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  プロフェッショナルおよび非プロフェッショナルのウェブデザイン

>>:  JavaScript の基礎: 即時実行関数

推薦する

MySQLの一般的なメモリ不足による起動失敗に対する完璧な解決策

1. MySQLが正常に起動しない場合は、エラーログ/var/log/mysql/error.log...

デザインストーリー: ナンバープレートを覚えられない警備員

<br />私が住んでいる地域では、コミュニティに出入りする車両を管理するために、コミュ...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

MySQL Limitパフォーマンス最適化とページングデータパフォーマンス最適化の詳細な説明

MySQL Limit はセグメント内のデータベース データをクエリでき、主にページングで使用されま...

MySQL および Oracle のバッチ挿入 SQL の一般的な記述例

目次例えば:一般的な執筆:要約する例えば:次に、データベースのUSERテーブルにUserオブジェクト...

Tomcat が非同期サーブレットを実装する方法の詳細な説明

序文これまでの Tomcat シリーズの記事を通じて、私のブログを読んでいる学生は Tomcat に...

FileZilla 425 FTP に接続できない (Alibaba クラウド サーバー) の解決策

Alibaba Cloud ServerがFTPに接続できないFileZilla 425 データ接続...

MySql ファジークエリ JSON キーワード取得ソリューションの例

目次序文オプション1:オプション2:オプション3:オプション4(最終的に採用されたオプション):要約...

JSデータ型検出のさまざまな方法の概要

目次背景データ型を決定する方法は何ですか? 1. typeof を使用して基本データ型を決定します。...

Vueはプライベートフィルターと基本的な使用法を定義します

プライベート フィルターとグローバル フィルターのメソッドと概念は同じですが、プライベート フィルタ...

JavaScript Three.js でテキストを作成する最初の経験

目次効果テキストの作成を開始するまずフォントローダーを作成するフォントライブラリを読み込むテキストジ...

Raspberry PiにDockerをインストールする方法

Raspberry Pi は ARM アーキテクチャをベースとしているため、Docker のインスト...

CSSは、マウスを線の上に置くと線全体の色を変える効果を実現します。

まとめ:以下のように、CSS で指定した行にマウスを置いたときに行全体の色を変更する方法を示します。...

win2008R2 64 ビット システムでの mysql5.7.17 のインストールと構成の例

123WORDPRESS.COM では、さまざまな環境での MYSQL の他のバージョンのインストー...

MySQL でのトランザクションの使用方法

基礎トランザクションは、SQL ステートメントのグループに対するアトミック操作です。つまり、グループ...