ブラウザやOSが違うとデザインが違うため統一したい場合など、カスタマイズをしたい場合があると思います。そのサンプルです。
プルダウンのデザインの変更は意外と難しいので、各ブラウザやOSでしっかり確認を行うことをお勧めします。
CodePenの実装例は以下のようになります。
See the Pen select-css by take it easy (@take-it-easy) on CodePen.
HTML
<div class="select-area">
<select>
<option value="0" selected disabled>選択してください</option>
<option value="40">福岡県</option>
<option value="41">佐賀県</option>
<option value="42">長崎県</option>
<option value="43">熊本県</option>
<option value="44">大分県</option>
<option value="45">宮崎県</option>
<option value="46">鹿児島県</option>
<option value="47">沖縄県</option>
</select>
</div>
ポイント
「選択してください」の部分は、初期表示のため”selected”を、プルダウンでは選択する必要がないので”disabled”をつけています。
CSS
/* フォーカスが当たった時の青枠を表示しない */
*:focus {
outline: none;
}
div.select-area {
position: relative;
}
div.select-area select {
/* 位置 */
position: absolute;
left: 5px;
/* select要素のデザインを無効 */
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
/* 枠線 */
border: none;
border-radius: 0;
border-bottom: solid 1px rgba(0, 0, 0, 0.4);
/* 文字サイズ */
font-size: 16px;
width: 200px;
padding: 5px;
margin: 0;
}
/* select要素のデザインを無効(もう必要はないかもだけど、、、) */
select:-ms-expand {
display: none;
}
/* "選択してください"は表示しない */
option[selected][disabled] {
display: none;
}
/* プルダウンの下矢印 */
div.select-area:after {
/* 下矢印 */
font-family:'Font Awesome 5 Free';
content: "\f107";
font-weight: 600;
font-size:18px;
color: rgba(0, 0, 0, 0.4);
/* 位置 */
position: absolute;
top: 3px;
left: 190px;
/* ▼部分をクリックしてもプルダウンが表示されるようにする */
pointer-events: none;
}
注意
- 「Font Awesome」のアイコンフォントを使用しています。
使用する場合はCDNでCSSを読み込むようにしてください。 - 色やサイズなどは自由に変更をして使用してください。
- 使用する場合は自己責任でよろしくお願いします。