選択にスタイルを追加するための純粋な 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を通じてデータを復元する

推薦する

Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。

1. Tomcatをインストールする1. Docker HubでTomcatイメージを見つける d...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

ウェブサイトのユーザーエクスペリエンスデザイン(UE)

Google Reader で、JunChen が書いた「フロー理論と設計」というタイトルの投稿を見...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル (win10)

MySQL 5.7.21 解凍版のインストールと設定方法は参考までに。具体的な内容は以下のとおりで...

MySQL トリガー構文とアプリケーション例

この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...

ローカル yum ソースの設定、国内 yum ソースの設定、epel ソースの設定を行う Linux の手順

1. ローカルyumソースを設定する1. ISOイメージをマウントする マウント -o loop /...

CSS3 でシンプルな白い雲が浮かぶ背景効果を実現

これは非常にシンプルな純粋な CSS3 の白い雲の浮遊する背景効果です。浮かぶ白い雲の特殊効果は、C...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

Typescriptを使用してWeChatミニプログラムでプロジェクトを作成する方法

プロジェクトを作成するWeChat開発者ツールでプロジェクトを作成し、言語でTypeScriptを選...

Linux での MySQL データベースのアンインストール

Linux で MySQL データベースをアンインストールするにはどうすればいいですか? 以下では、...

nginxのデフォルトポートを変更する方法の詳細な説明

まず設定ファイルがどこにあるか調べる nginx.confはどこにありますかこれらのディレクトリを調...

HTMLページ作成に関する私の経験の簡単な要約

Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...

VUEの基本を理解するのに役立つ記事

目次VUEとはVueのコアプラグインVueルーターヴュークスアクシオス要素UI Vue フロントエン...

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...