選択にスタイルを追加するための純粋な CSS (スクリプトなし) 実装

選択にスタイルを追加するための純粋な CSS (スクリプトなし) 実装
通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。
このようにデフォルトの選択スタイルを変更する Jquery プラグインは多数あります。
プログラマーからのフィードバックによると、この方法ではフォームの送信後にデータを取得できないとのことです。その後、さまざまな JS/Jquery プラグインを使用して実験しましたが、結果は同じで、データを取得できませんでした。

その後、外国人が書いたブログを読みました。彼は CSS スタイルを使用して、select の外側に div を追加し、select の幅を親 div の幅よりも小さく設定し、div の background 属性を設定することで、select のデフォルトの矢印のスタイルを変更していました。
この方法は良い方法です。スクリプトを書く必要はなく、純粋な CSS のみを使用して実装します。

ただし、この方法にも欠陥があります。IE シリーズでは、特定のオプションを選択すると背景に色のブロックが表示されます。IE7 から IE10 まですべてこのバグがあります。
Opera では、div の背景画像が表示されません。つまり、選択のドロップダウン矢印が表示されません。原因がわかりません。
次のコード

コードをコピー
コードは次のとおりです。

<div class="select_style">
<名前を選択="選択">
<option>AAAAAAAAAA</option>
<option>BBBBBBBBBB</option>
<オプションが選択されました>CCCCCCCCCCC</オプション>
<option>DDDDDDDDDD</option>
</選択>
</div>


コードをコピー
コードは次のとおりです。

.select_style {幅:240px; 高さ:30px; オーバーフロー:非表示; 背景:url(../images/arrow.png) 繰り返しなし 215px;
境界線:1px実線 #ccc;
-moz-border-radius: 5px; /* Gecko ブラウザ */
-webkit-border-radius: 5px; /* Webkit ブラウザ */
境界線の半径:5px;
}
.select_style select { パディング:5px; 背景:透明; 幅:268px; フォントサイズ: 16px; 境界線:なし; 高さ:30px;
-webkit-appearance: none; /*Webkit ブラウザ用*/
}

<<:  Docker で onlyoffice をインストールして展開する詳細なプロセス

>>:  MySQLはbinlogを通じてデータを復元する

推薦する

HTML要素にフォーカスを設定する方法

コードをコピーコードは次のとおりです。 <本文<フォームアクション="&quo...

Vue echarts は棒グラフの動的な表示を実現します

この記事では、棒グラフの動的な表示を実現するためのvue echartsの具体的なコードを参考までに...

学生情報管理システムを実装するためのJavaScript+HTML

目次1. はじめに2. レンダリング3. コード4. 学生情報管理システムのメインインターフェース1...

HTML の一般的でないタグ optgroup、sub、sup、bdo のサンプルコード

Optgroup は、ドロップダウン リストのコンテンツをより整理するために、select タグで使...

高性能な HTML アプリケーションを作成するためのヒント

Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...

JavaScript の差異を利用して比較ツールを実装する

序文仕事では、毎週従業員が提出した資料を数える必要がありますが、それを一つずつコピーして貼り付けるの...

Mysql5.7 のグループ連結関数を使用するときにデータが切り捨てられる問題に対する完璧な解決策

一昨日、本番環境でGROUP_CONCAT関数を使用して選択したデータが切り捨てられ、最大長が102...

Vueにおけるキーの役割と原理の詳細な説明

目次1. 結論から始めましょう2. キーの役割2.1 例2.2 上記の例を修正する2.3 例を再度修...

Mysql論理アーキテクチャの詳細な説明

1. 全体的なアーキテクチャ図他のデータベースと比較すると、MySQL は、そのアーキテクチャがさま...

MySQLでBLOBデータを処理する方法

具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.i...

Reactは動的ポップアップウィンドウコンポーネントを実装します

UI コンポーネントを作成するときに、アニメーションを考慮しなければ、アニメーションを実現するのは非...

Alibaba Cloud ホストが IP を使用して Web サイトにアクセスできない問題の解決策 (セキュリティ グループ ルールを構成することで解決)

Alibaba Cloud ホストを購入したばかりで、その速度を試すのが待ちきれませんでした。しか...

MySQL の JSON 挿入の問題

MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON...

Vue3 における ref と reactive の詳細な説明と拡張

目次1. 参照と反応1. 反応的2.参照2. shallowRef と shallowReactiv...

Navicat が MySQL にリモート接続するときに発生する 10060 不明エラーを解決する方法

はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...