セレクタの種類と正しい使い分けを初心者向けにわかりやすく解説

セレクタの種類と正しい使い分けを初心者向けにわかりやすく解説のアイキャッチ画像 CSS講座

CSSでデザインを指定するために欠かせないのが 「セレクタ」 です。
セレクタを正しく理解すると、HTML要素を狙い撃ちしてデザインできるようになり、
CSSが一気に扱いやすくなります。

この記事では、基本のセレクタ・複合セレクタ・用途別の使い分け を初心者向けに丁寧に解説します。


セレクタとは?

セレクタ(selector)とは、CSSで “どのHTML要素にスタイルを適用するか” を指定するもの。

p {
  color: blue;
}

↑ この「p」の部分がセレクタです。
CSSは必ず セレクタ → プロパティ → 値 の流れで書きます。


セレクタの種類(基本6つ)

① タグセレクタ(要素セレクタ)

HTMLタグ名を直接指定。

p { color: #333; }
h2 { margin-bottom: 20px; }

✔ 全ての同じタグに一括で反映
✔ 初心者は使いすぎ注意(全体が変わりすぎる)


② クラスセレクタ(.class)

最も頻繁に使うセレクタ。

<p class="lead">文章です。</p>
.lead {
  font-size: 18px;
}

✔ 複数要素に共通のデザインを当てたいときに最適
✔ 再利用性が高い
✔ BEMなどのCSS設計でも基本


③ IDセレクタ(#id)

ページ内で1つだけ使う要素向け。

<div id="main-visual"></div>
#main-visual {
  background: #eee;
}

✔ 一意(unique)な要素に使う
⚠ 多用すると管理が破綻しやすいので初心者は 多用禁止


④ 属性セレクタ

属性を持つ要素を狙える。

input[type="email"] {
  border-color: blue;
}

他にも:

a[target="_blank"] { … }
img[alt] { … }

✔ フォームデザイン等で強力
✔ 覚えると細かい指定ができる


⑤ ユニバーサルセレクタ(*)

全要素を対象にする。

* {
  box-sizing: border-box;
}

✔ 初期設定でよく使う
⚠ デザイン指定に使うのは非推奨(範囲が広すぎる)


⑥ 擬似クラス・擬似要素

※ 詳細記事を別で用意するため、基礎だけ触れます。

a:hover { color: red; }   /* 擬似クラス */
p::before { content: "★"; }  /* 擬似要素 */

✔ ホバー・入力状態・装飾などに使う


複合セレクタ(使いこなすと一気に上達)

① 子孫セレクタ(スペース)

main p {
  color: #444;
}

✔ main 内のすべての p に適用
⚠ 範囲が広いので乱用注意


② 子セレクタ(>)

nav > ul {
  padding: 0;
}

✔ 直下の子だけ指定(正確なデザイン)


③ 隣接セレクタ(+)

h2 + p {
  margin-top: 0;
}

✔ h2 の直後の p にだけ適用


④ 兄弟セレクタ(~)

h2 ~ p {
  color: #555;
}

⑤ 複数セレクタ(,)

h1, h2, h3 {
  font-family: "Noto Sans JP";
}

✔ 同じデザインをまとめて当てられる
✔ コードが短くなり管理しやすい


セレクタの優先順位(超シンプルに理解)

CSSには 強い弱い があり、
どちらが勝つかで最終的なデザインが決まります。

優先順位は以下の順:

① !important(最強)
② IDセレクタ(#id)
③ クラスセレクタ(.class)
④ タグセレクタ(p, h2)
⑤ ユニバーサル(*)

✔ 基本は「クラスセレクタ」を使う
✔ IDはほぼ使わない
✔ タグの多用は危険


どのセレクタを使うべきか?(用途別)

やりたいこと 最適なセレクタ
同じデザインを複数箇所で使いたい .class
一箇所だけ装飾したい #id(できれば class 推奨)
HTML構造で親子を指定したい > 子セレクタ
パーツごとにまとまりを作りたい .box .titleなど子孫
フォームやリンクだけ狙いたい [type="text"]a:hover

よくある失敗と注意点

IDセレクタを使いまくる

→ 拡張しにくくなる
→ WordPressテーマとも衝突しがち

タグセレクタの上書きを多用

→ 予期せぬ箇所までデザインが変わる

子孫セレクタばかり書く

→ CSSが長くなり管理不能に

specificity(優先順位)を理解せずに書く

→ 思った通りに反映されない原因の9割


まとめ

  • セレクタは CSS の「どの要素に適用するか」を決める重要な仕組み
  • 最も使うのはクラスセレクタ(.class)
  • IDは多用しない、タグの乱用もしない
  • 子孫・子・隣接などの複合セレクタで精度を上げる

著者からのひと言

セレクタはCSSの中でも特に重要な概念で、ここを理解できるとデザインが一気に楽になります。
最初は「どのセレクタを使うべきか」迷うかもしれませんが、実際にコードを書きながら覚えていけば必ず身につきます。焦らず、一つひとつ確実に進めていきましょう。

次の記事は「CSS優先順位(カスケード)を徹底解説」です。

この記事が役に立ったら、いいね!お願いします!
タイトルとURLをコピーしました