ホームへ

input(テキストボックス,ラジオボタン)の文字色を変える方法

2022年07月22日

「入力中のテキストボックスの色を変えたい」

「選択されたラジオボタンの色を変えたい」

CSSでinput(テキストボックス,ラジオボタン)の文字色を変える方法を解説します。

ボタンの色を変える方法はこちら↓

【テキストボックス】valueの文字色を変える

文字の色を変えるにはCSS colorを指定します。

<style>
input[type="text"]{
    color: red;
}
</style>
<input type="text" value="テキストボックスinput">

テキストボックスは「input[type="text"]」で指定できます。その他、telやemailも使う場合はそれらも指定する必要があります。詳しくは下記をご覧ください。

colorが効かない場合は下記をご覧ください。

CSSやhtmlの基本をしっかり理解すると、この記事の内容もより理解できるようになりますよ。

↓CSSやhtmlを楽しく学べるようにマンガを描きましたのでゼヒご覧ください↓

↑「副業してもう少し稼ぎたい!」というかたのために副業の方法も解説しています。

【テキストボックス】入力中だけ変える

入力中だけ文字色を変えたいときは「:focus」を指定します。

↓カーソルを当てると文字色が変わります。

<style>
input[type="text"]:focus{
    color: red;
}
</style>
<input type="text" value="テキストボックスinput">

「:focus」はその要素にフォーカスされているときだけ適用される疑似クラスです。

文字色だけでなく、背景色なども変えられます。

【テキストボックス】プレスホルダーの色を変える

プレスホルダーの色を変えるには「::placeholder」を指定します。

<style>
::placeholder{
    color: #ccc;
}
</style>
<input type="text" placeholder="プレスホルダー" value="">

プレスホルダーは入力すると消える文字です。例を提示するときによく使います。

これが濃い色だと入力済みだと勘違いされる場合があるため、薄い色にしておくといいでしょう。

ちなみにplaceholder属性は「type="text"」や「type="email"」などの入力系テキストボックスにしか使われないため、具体的なセレクタをつけずに「::placeholder」の指定だけでいいでしょう。

【ラジオボタン】ラベルの色を変える

ラジオボタンやチェックボックスの文字色を変えるにはlabelにcolorを指定します。

<style>
label{
    color: red;
}
</style>
<input type="radio" id="radio1" name="radio" checked><label for="radio1">ラジオボタンラベル1</label>
<input type="radio" id="radio2" name="radio"><label for="radio2">ラジオボタンラベル2</label>
<input type="radio" id="radio3" name="radio"><label for="radio3">ラジオボタンラベル3</label>

ラジオボタンの場合、文字を囲っているのはlabelタグになります。そのため、inputではなくlabelに色を指定する必要があります。

【ラジオボタン】選択された箇所の色を変える

ラジオボタンは選択されるとinputにchecked属性が付きます。

これは疑似クラス「:checked」でセレクタを指定できます。

inputがlabelの兄要素の場合

inputとlabelを兄弟要素で並べてidとforでつなぐ形です。

直後の弟要素セレクタは「+」で指定できます。

<style>
input[type="radio"]:checked+label{
    color: red;
}
</style>
<input type="radio" id="radio1" name="radio" checked><label for="radio1">ラジオボタンラベル1</label>
<input type="radio" id="radio2" name="radio"><label for="radio2">ラジオボタンラベル2</label>
<input type="radio" id="radio3" name="radio"><label for="radio3">ラジオボタンラベル3</label>

inputがlabelの子要素の場合

inputをlabelの子要素にするとidとforを指定する必要がなく楽になります。

ただし、子要素から親要素を選択することはできません。そのため、文字をspanで囲い、そのspanの文字色を変えるようにします。

<style>
input[type="radio"]:checked+span{
    color: red;
}
</style>
<label><input type="radio" name="radio" checked><span>ラジオボタンラベル1</span></label>
<label><input type="radio" name="radio"><span>ラジオボタンラベル1</span></label>
<label><input type="radio" name="radio"><span>ラジオボタンラベル1</span></label>

【まとめ】inputの文字色を変える方法

テキストボックス

  • valueの色を変える
    →input[type="text"]にcolor
  • 入力中だけ変える
    →:focus
  • プレスホルダーの色を変える
    →「::placeholder」

ラジオボタン

  • ラベルの色を変える
    →labelにcolorを指定
  • 選択された箇所の色を変える
    →:checked+label(またはspan)

以上、input(テキストボックス,ラジオボタン)の文字色を変える方法でした。

「この記事の内容がよくわからなかった…」「なんかうまくいかなかった…」というかたは下記記事↓でhtmlとCSSの基本を学びましょう。
わからないまま突き進むより基本を学ぶのが結局近道です。

CSSやhtmlをマンガで学ぶ