HTML5 JavaScript

2021.03.10

【セレクトボックス】初期値の文字色を変える方法

お問い合わせフォームなどでよく見るセレクトボックス。

選択前は「選択してください」とグレーなど薄めの色で表示しておき、項目が選択されたら黒色に変更したい!と思ってCSSで色指定をしたものの、うまくいかない・・・ということはないでしょうか?

本日は、このセレクトボックスの初期値の文字色の変え方をご説明したいと思います。

セレクトボックスとは

セレクトボックスとは、フォームなどでよく見かけるこちらのような見た目のものです。

いくつかの選択肢から1つを選択するときに使うものです。
複数の選択肢から1つを選ぶという特徴は、ラジオボタンと似ていますが、ラジオボタンは選択肢が全て見える状態になっているのに対し、セレクトボックスでは選択肢が隠れています。

セレクトボックスの作り方

selectoptionを用いることで、下記のようなセレクトボックスを作ることができます。

See the Pen ExNdxZo by spiqa design (@spiqa_design) on CodePen.

▼参考
https://developer.mozilla.org/ja/docs/Web/HTML/Element/select

▼セレクトボックスの作り方はこちら

セレクトボックスの初期値を表示する

input要素の初期値はplaceholderで設定できますが、セレクトボックスの初期値はplaceholderで設定できません。

See the Pen by spiqa design (@spiqa_design) on CodePen.

上の例で「所属部署」というプレースホルダーを設定していますが、セレクトボックスの初期値は「営業部」となってしまっています。

セレクトボックスは、optionの1つ目の要素が初期値になります。そのため、初期値を設定したい場合は、optionの1つ目にその内容を記述します。

See the Pen by spiqa design (@spiqa_design) on CodePen.

初期値の位置を変更する

セレクトボックスの初期値は、デフォルトではoptionの1つ目ですが、場合によっては、真ん中のものを初期値にしたい場合もありますね。selected属性を追加するだけで好きな選択肢を初期値にすることができます!

See the Pen by spiqa design (@spiqa_design) on CodePen.

初期値の文字色を変える方法

optionにCSSは効かない

See the Pen WNoaNjr by spiqa design (@spiqa_design) on CodePen.

inputの初期値(プレースホルダー)は::placeholderの擬似要素を用いることで文字色を変えることができます。

ただ上記の通り、selectの初期値については.grayの指定もoption:first-childの指定も効いていません。これは、optionにcssを設定することができないためです。

セレクトボックスの初期値の色を変更する方法

セレクトボックスの「初期値の文字色」をCSSだけで変更することは難しいので、【初期値が選択されている時のselectの文字色】と【初期値以外が選択されているときのselectの文字色】を変更することで対応します。

See the Pen select by spiqa design (@spiqa_design) on CodePen.

追記するのは2つです。

まず、selectonchange="changeColor(this)"を追記します。

<select name="example" onchange="changeColor(this)">
 〜(省略)〜
</select>

次にJavaScriptとして、以下を記述します。

function changeColor(hoge){
    if( hoge.value == 0 ){
        hoge.style.color = '';
    }else{
        hoge.style.color = 'blue';
    }
}

初期値と違う選択肢が選択されたら色を変えるという指定なので、cssでは初期値の色(今回はグレー)、JavaScriptでは、選択後の色(今回は青色)を指定してください。

セレクトボックスの初期値の文字色にもこだわることで、統一感のあるフォームを作成することができますので、ぜひ活用してみてください!

セレクトボックスの作り方はこちらの記事で解説!

テキストボックスが変更されたら〜など他の指定はこちらの記事で解説!

セレクトボックスの矢印を好きなものにする方法は、こちらの記事で解説!

関連記事

  • 2021.10.19

    HTMLでメールを送る「mailto:」の使い方【注意点も解説】

    HTML5

  • 2021.09.28

    読み込みが終わったら処理!onloadイベントの使い方と注意点について解説【JavaScript】

    JavaScript

  • 2021.09.24

    JavaScriptの勉強におすすめの本7選【初心者〜上級者別に厳選】

    JavaScript

おすすめ記事

  • 2021.09.29

    【簡単】プロのようなデザインが作れるツールCanva(キャンバ)のおすすめポイント

    その他

  • 2021.05.11

    【おすすめ書籍】この本でゼロからWebサイト制作を学びました

    CSS

    HTML5

  • 2021.09.14

    【薄くて軽い!】超おすすめパソコンスタンド

    その他

株式会社スピカデザイン

渋谷のWEB制作会社「スピカデザイン」の現役コーダー達が、WEB制作のヒントになるような情報をお届けします。

https://spiqa.design/

spiqa_design

質問・感想などはこちら!

REQUEST

ご意見、感想や記事のリクエストなど
メッセージお待ちしております!