【上級編】CSSの擬似クラスの使い方!(ページ内リンク/入力系要素用)

擬似クラスとは
擬似クラスとは、要素の特定の状態を指定できるセレクタの書き方の一種です。
要素にカーソルがあってる時・クリックした時など特定の状態のとき用のスタイルを指定できます。
【 擬似クラスの書き方 】

セレクタとは、CSSとHTMLを紐づける名前や条件のようなものです。
HTML上のどの要素を示すのかを定義します。
【 セレクタの書き方 】
CSSセレクタの種類 (【CSS】初心者向け基礎知識!セレクタ・結合子・プロパティの基本!) | こじはなNote:target|ページ内リンクで飛んだ先の要素スタイル

:targetはページ内リンクを押してジャンプしたとき、ジャンプ先の要素に適用するスタイルを定義できます。
:targetはジャンプ先となる要素に指定します。
ページ内リンクは、現在開いているWebページ内で移動するリンクです。
【 ページ内リンク設定の手順 】
- 1, 移動先の要素のタグにid属性の値を指定する。
- 2, ページ内リンクを定義する。aタグのhref属性に「"#" + 1,で指定したid属性の値」を指定。
これでページ内リンクの設定完成です!!
ブラウザで実行するとこんな感じです。
実際にリンクを押してみてください!
※リンク/テキストのスタイルがデフォルトと異なる点はご了承ください。
※ブラウザのキャッシュが古い場合、上手く反映されない場合がございます。
ページ内リンクで飛んだ先の要素に、:targetで指定したスタイルが適用されました。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

aタグとはリンクが作れるHTMLタグです。
【 aタグの書き方 】
パスとはファイルやディレクトリ(フォルダー)がある場所のことです。
【パスの基本に関する記事】
パス・ディレクトリとは?開発で必須なパスの基本知識と読み方を解説! | こじはなNote
:checked|チェックボックス・ラジオボタンが選択されているとき

:checkedは、inputタグのチェックボックス(type="checkbox")やラジオボタン(type="radio")が、選択されているときに適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNoteブラウザで実行するとこんな感じです。
実際にボタンを押してみてください!
ラジオボタン/チェックボタンを押すと、:checkedで指定したスタイルが反映されます。
outlineプロパティとは、フォーカス(選択)された要素を明示させるために用意されたプロパティです。
枠線を指定できるborderプロパティと似ていますが、目的・表示位置が違います。
【 border・outlineの表示位置 】
【 borderプロパティについて詳しい記事 】
borderプロパティ (【CSS】初心者向け基礎知識!セレクタ・結合子・プロパティの基本!) | こじはなNoteチェックボックス・ラジオボタンなど入力系要素はブラウザによってスタイルが固定されております。
そのため、普通に指定しても反映されないプロパティが多いのです。

例でborderじゃなくてoutlineプロパティで枠線を指定したのも、
borderが効かないからなんだ〜!
:in-range|inputタグの入力値がmin・max属性の値の範囲内のとき

:in-rangeは、inputタグの入力値/value属性の値が、min・max属性に設定された値の範囲内であるときに適用するスタイルを定義できます。
特定のブラウザやバージョンによっては、入力値/value属性の値が空っぽでも適用される場合があります。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNote【 min/max属性とは? 】
【 min/max属性を使えるtype属性について 】
inputタグのtype属性の値が、number, range, date, month, week, time, datetime-localの場合にmin/max属性を指定できます。
それ以外のtype属性の値の場合は効果がありません。
ブラウザで実行するとこんな感じです。
実際に値を変えてみてください!
入力値が範囲内の場合、背景色が薄緑になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:out-of-range|inputタグの入力値がmin・max属性の値の範囲外のとき

:out-of-rangeは、inputタグの入力値/value属性の値が、min・max属性に設定された値の範囲外であるときに適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNote【 min/max属性とは? 】
【 min/max属性を使えるtype属性について 】
inputタグのtype属性の値が、number, range, date, month, week, time, datetime-localの場合にmin/max属性を指定できます。
それ以外のtype属性の値の場合は効果がありません。
ブラウザで実行するとこんな感じです。
実際に値を変えてみてください!
入力値が範囲外の場合、背景色が赤になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:required|入力系要素に属性requiredが指定されているとき

:requiredはinput/textarea/selectタグに属性requiredが指定されている場合に適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNoterequired属性は、入力系の要素を必須入力設定できる属性です。
属性="値"の形式ではなく、"required"単体で指定します。
任意
必須*
ブラウザで実行するとこんな感じです。
実際に操作できます!
input・selectタグにrequired属性がある場合、背景色がピンクになります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:optional|入力系要素に属性requiredが指定されていないとき

:optionalとはinput/textarea/selectタグに属性requiredが指定されていない場合に適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNoterequired属性は、入力系の要素を必須入力設定できる属性です。
属性="値"の形式ではなく、"required"単体で指定します。
任意
任意
ブラウザで実行するとこんな感じです。
実際に操作できます!
input・selectタグにrequired属性がない場合、背景色が薄い青になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:disabled|入力系要素に属性disabledが指定されているとき

:disabledとはinput/textarea/selectタグに属性disabledが指定されている場合に適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNotedisabled属性は、入力系の要素を無効化(入力できない状態)にできる属性です。
属性="値"の形式ではなく、"disabled"単体で指定します。
PHP/Javaなどサーバーサイド言語やJavaScript/CSSで制御するときに使われることがあります。
入力可能
入力不可
ブラウザで実行するとこんな感じです。
実際に操作できます!
input・selectタグにdisabled属性がある場合、背景色がグレーになります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:enabled|入力系要素に属性disabledが指定されていないとき

:enabledとはinput/textarea/selectタグに属性disabledが指定されていない場合に適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNotedisabled属性は、入力系の要素を無効化(入力できない状態)にできる属性です。
属性="値"の形式ではなく、"disabled"単体で指定します。
PHP/Javaなどサーバーサイド言語やJavaScript/CSSで制御するときに使われることがあります。
入力不可
入力可能
ブラウザで実行するとこんな感じです。
実際に操作できます!
input・selectタグにdisabled属性がない場合、背景色が薄緑になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:focus|入力系要素にフォーカス(選択)したとき

:focusとはinput/textarea/selectタグなど入力系の要素にクリックやキーボード操作で要素をフォーカス(選択)したときに適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNoteブラウザで実行するとこんな感じです。
実際に操作してみてください!
input/selectタグをフォーカスした場合、背景色が薄緑になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:focus-within|入力系の子要素にフォーカス(選択)したとき

:focus-withinとはinput/textarea/selectタグなど入力系の子要素にクリックやキーボード操作で要素をフォーカス(選択)したときに、親要素に対して適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNote:focus-withinは親要素となる要素に指定します。
また、input/textarea/selectタグなど入力系の子要素を持っている必要があります。
【 セレクタで親/子/兄弟を指定する方法 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
input/selectタグをフォーカスした場合、親要素の背景色が薄緑になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

:valid|入力系要素の入力値が入力内容の条件に合致しているとき

:validとはinput/textarea/selectタグなど入力系の要素に対する入力値/value属性の値が、入力内容の条件に合致しているときに適用するスタイルを定義できます。
入力系タグに指定された属性type/pattern/required/min/maxなどの指定によって決められた入力値の許容条件のことです。
【 入力値の許容条件に関係する属性について 】
【 min/max属性とは? 】
【 min/max属性を使えるtype属性について 】
inputタグのtype属性の値が、number, range, date, month, week, time, datetime-localの場合にmin/max属性を指定できます。
それ以外のtype属性の値の場合は効果がありません。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNote範囲5 ~ 10・必須※
必須※
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
それぞれ入力内容の条件に合致している場合、背景色が薄緑になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

disabled属性は、入力系の要素を無効化(入力できない状態)にできる属性です。
属性="値"の形式ではなく、"disabled"単体で指定します。
PHP/Javaなどサーバーサイド言語やJavaScript/CSSで制御するときに使われることがあります。
selected属性は、チェックボックス(type="checkbox")やラジオボタン(type="radio")を選択済みにする属性です。
属性="値"の形式ではなく、"selected"単体で指定します。
PHP/Javaなどサーバーサイド言語やJavaScriptで制御するときに使われることがあります。
:invalid|入力系要素の入力値が入力内容の条件に合致していないとき

:invalidとはinput/textarea/selectタグなど入力系の要素に対する入力値/value属性の値が、入力内容の条件に合致していないときに適用するスタイルを定義できます。

inputタグとは入力ができる要素です。
type属性に指定する値によって、様々な種類の入力要素になります。
formタグに内包して値を別の画面やプログラムに渡したり、JavaScriptと一緒に使ったりします。
【 inputタグ基本な属性 】
【 type属性の値の種類 】
※他にもたくさんの種類があります。
【 コード例 】
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
【inputタグに関する記事】
inputタグ|type属性の値によって様々な種類の入力ができる ( 入力系タグ(input/select/... ) | こじはなNotetextareaタグは複数行のテキストを入力できるテキストボックスです。
【textareaタグに関する記事】
textareaタグ|複数行の文字を入力できるテキストボックス ( 入力系タグ(input/select/... ) | こじはなNoteselectタグとはプルダウンメニューを定義できるタグです。
selectタグの選択肢を定義するoptionタグと一緒に使います。
【selectタグに関する記事】
selectタグ・optionタグ|selectタグでプルダウンメニューを定義し、選択肢はoptionタグで定義 ( 入力系タグ(input/select/... ) | こじはなNote範囲5 ~ 10・必須※
必須※
ブラウザで実行するとこんな感じです。
実際に操作してみてください!
それぞれ入力内容の条件に合致していない場合、背景色が赤になります。
background-colorプロパティは背景の色を指定できるプロパティです。
プロパティの記載は「background-color: (色)」のように指定します。

disabled属性は、入力系の要素を無効化(入力できない状態)にできる属性です。
属性="値"の形式ではなく、"disabled"単体で指定します。
PHP/Javaなどサーバーサイド言語やJavaScript/CSSで制御するときに使われることがあります。
この記事は上級編だよ!基本編はこっちの記事を見てね!
【基本編】CSSの擬似クラスとは?基本的な擬似クラスの使い方を解説。| こじはなNote