ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > 【CSS】サイトを豊かにする擬似クラスについてわかりやすく解説

【CSS】サイトを豊かにする擬似クラスについてわかりやすく解説

HTML/CSS

2022/01/11

2023/04/14

擬似クラス サムネイル

Webサイトを構築していると、マウスホバーやクリックする時に動きをつけることがよくあります。
動きをつける時に、対象のセレクタに対して:hoverや:activeという指定をします。このような書き方を擬似クラスといいます。
擬似クラスを使うと、CSSで要素の状態を変化させるスタイリングができるようになるので、非常に便利です。
今回の記事では、擬似クラスの使い方やよく使う場面についてわかりやすく解説していきます。

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

擬似クラスの使い方

擬似クラスは、セレクタの後ろにコロン(:)をつけて使用されます。

擬似クラスの一覧とそれぞれの解説

よく使う擬似クラスの一覧です。

擬似クラス解説
:hoverホバーされた状態の要素を表します。
:activeクリックされている状態の要素を表します。
:nth-child(n)子要素を種類にかかわらず上から数え、n番目の要素を表します。
:nth-of-type(n)同じ種類の要素を上から数え、n番目の要素を表します。
:first-child兄弟要素グループ内で、最初の要素を表します。
:last-child兄弟要素グループ内で、最後の要素を表します。
:not()列挙されたセレクターに一致しない要素を表します。

擬似クラスの使い方をそれぞれ紹介します。

:hover

ホバーされた状態の要素を表します。文字色や背景色の変更などに使います。

p:hover{
color: red;
}

 

:active

クリックされている状態の要素を表します。

p:active{
color: red;
}

:hoverや:activeはtransitionというプロパティを使うことで、簡単なアニメーションにすることができます。transitionの使い方についてはこちらの記事で詳しく解説しています。

 

:nth-child(n)

 子要素を種類にかかわらず上から数え、n番目の要素を表します。

<div>
<h1>タイトル</h1>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
</div>
/*上から二番目の要素を赤色にする*/
p:nth-child(2){
color: red;
}

HTMLの構造はdivタグが親要素で、h1タグとpタグが子要素となっています。:nth-childは子要素の種類に限らず上から数えるので、今回の例ではpタグをセレクタにしていてもh1を含めて上から二番目の要素が赤色となります。

nth-childの説明画像です。二番目の要素が赤くなっています。

 

:nth-of-type(n)

同じ種類の要素を上から数え、n番目の要素を表します。

<div>
<h1>タイトル</h1>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
</div>
/*pタグを上から数えて三番目を赤色にする*/
p:nth-of-type(3){
color: red;
}

:nth-of-type(n)の説明です。pタグの三番目が赤くなっています。 :nth-of-typeは親要素の中の子要素の種類を指定して、その中でn番目の要素のスタイルを変えるか決められる擬似クラスです。今回の例ではpタグの上から三番目の文字が赤色になっています。

 

:first-child

兄弟要素グループ内で、最初の要素を表します。

<div>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
</div>
/*最初の要素を赤色にする*/
p:first-child{
color: red;
}

:fist-childの説明です。最初の文字が赤くなっています。

:last-child

兄弟要素グループ内で、最後の要素を表します。

<div>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
</div>
/*最後の要素を赤色にする*/
p:last-child{
color: red;
}

:last-childの説明です。最後の文字が赤くなっています。

:not()

列挙されたセレクターに一致しない要素を表します。

<div>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
</div>
/*最初の要素のみ赤色にしない*/
p:not(:first-child){
color: red;
}

:not()の説明です。一番目要素以外が赤くなっています。

ZeroPlusgate50教材の動画

擬似クラスと擬似要素の違い

擬似クラスと似たセレクタに、擬似要素があります。 擬似クラスはコロンを一つ記述していたのに対して、擬似要素を使うときはコロンを二つ記述します。

擬似要素の例

::before

要素の直前にコンテンツを追加します。


p{
  position: relative;
}
p::before{
  content:"";
  position: absolute; 
}

::after

要素の直後にコンテンツを追加します。


p{
  position: relative;
}
p::after{
  content:"";
  position: absolute;
}

::beforeや::afterを使うときは、content:"";という指定が必要です。ダブルクォーテーション("")の中身は空白でも大丈夫です。文字や記号を使いたいときのみ記述しましょう。

まとめ

擬似クラスを使うと、ユーザーの行動に合わせて要素が動くスタイリングや特定の状態の要素や特定の子要素にスタイルを当てることができます。

擬似クラスは覚えはじめたばかりだと難しいとかんじるかもしれませんが、理解を深めるとデザインの幅が大きく広がります。ぜひ使いこなせるようにしましょう。

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから