疑似クラスと疑似要素【CSS基礎】

Webサイトを作ってみよう|連載CSS
記事内に広告が含まれています。

CSSのセレクターには「疑似クラス」と「疑似要素」というものが使用できます。必ずしも使用しなくてもCSSのコーディングは可能ですが、知っておくと使用するクラス名やHTMLの要素を減らすことが可能になります。

なんかややこしそうですね。

最初のうちはよく使う数個だけ覚えておいて、慣れてきたら他のものを覚えればOKだよ。

疑似クラスについて

疑似クラスはセレクタに「疑似クラス名」を追加することで、要素の見た目を変化させたり、特定の要素を指定したりすることが可能です。

疑似クラスの書き方

疑似クラスの記述は、:(コロン)の後ろに疑似クラス名を記述します

:hoverはマウスカーソルが要素の上に乗った時の変化で、よく使うので覚えておこう。

リンクボタンにカーソルを乗せると変化するアレですね。

よく使う疑似クラス一覧

疑似クラスは多く用意されていますが、ここでは使用頻度の高いものをまとめておきます。

疑似クラス 説明
:hover マウスカーソルが要素に乗った時
:active 要素がアクティブ(クリックされた等)の時
:focus フォームの入力欄等を選択した時
:root ルート要素(htmlタグ)を指定
:first-child 兄弟要素の最初を指定
:last-child 兄弟要素の最後を指定
:only-child 兄弟要素が無い(子要素が一つ)要素を指定
:nth-child(数字等) :nth-child(2)の場合2番目の子要素を指定
:nth-last-child(数字等) :nth-last-child(4)の場合後ろから4番目の子要素を指定
:first-of-type 兄弟要素の中の、同じタグ名の最初の要素を指定。p:first-of-typeの場合、兄弟要素の最初のpタグを指定。
:last-of-type 兄弟要素の中の、同じタグ名の最後の要素を指定。li:last-of-typeの場合、兄弟要素の最後のliタグを指定。
:only-of-type 兄弟要素の中に、同じタグ名の要素が1つしか無ければ指定。dd:only-of-typeの場合、兄弟要素にddタグが1つしか無ければ指定。
:nth-of-type(数字等) 兄弟要素の中の、同じタグ名の「n番目」の要素を指定。li:nth-of-type(3)の場合、兄弟要素の3番目のliタグを指定。
:nth-last-of-type(数字等) 兄弟要素の中の、同じタグ名の後ろから「n番目」の要素を指定。li:nth-last-of-type(3)の場合、兄弟要素の後ろから3番目のliタグを指定。

疑似要素について

疑似要素はセレクタに「疑似要素名」を追加することで、要素の一部を変化させたり、装飾を追加したりすることが可能です。

疑似要素の書き方

疑似要素の記述は、::(コロン2つ)の後ろに疑似要素名を記述します

よく使う疑似要素一覧

疑似要素も多く用意されていますが、ここでは使用頻度の高いものをまとめておきます。

疑似要素 説明
::before 要素の開始タグの直後にインラインコンテンツを挿入する。(contentプロパティを併用)
::after 要素の終了タグの直前にインラインコンテンツを挿入する。(contentプロパティを併用)
::first-letter 要素の最初の1文字目にスタイルを適用する
::first-line 要素の最初の1行目にスタイルを適用する
::marker リストアイテム(lidisplay:list-item)のリストマーカーの変更。(contentプロパティを併用)
::placeholder フォーム項目のプレースホルダー文字にスタイルを適用する

before afterは良く使われます。それぞれの使い方はまた別で解説します。
次の記事は、よく使うCSSプロパティ一覧です。