CSSの隣接・直下・間接セレクタの違いを現役エンジニアが解説【初心者向け】
初心者向けにCSSの隣接・直下・間接セレクタの違いについて解説しています。セレクタはスタイルを適用させる要素を指定するものです。CSSの記述の基本となるので、必ず構造を理解しておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
CSSの隣接・直下・間接セレクタの違いについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
CSSについてそもそもよく分からないという方は、CSSの書き方について解説した記事をご覧ください。
なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のCSSカリキュラムをもとに執筆しています。

今回は、CSSに関する内容だね!

どういう内容でしょうか?

隣接・直下・間接セレクタの違いについて詳しく説明していくね!

お願いします!
隣接セレクタとは
隣接セレクタとは、基準要素の隣の要素を指定するためのセレクタです。
CSSでは以下のように記述します。
HTML
<span>1</span> <span>2</span> <span id="me">3</span> <span>4</span> <span>5</span>
CSS
#me + span { background: gold; } /* #meの隣にあるspan */
実行結果
4の背景色がgoldになります。
直下セレクタとは
直下セレクタとは、基準要素の1つ下にある子要素を指定するためのセレクタです。
CSSでは以下のように記述します。
HTML
<div id="me"> <span>1</span> <div> <span>2</span> <span>3</span> </div> </div>
CSS
#me > span { background: gold; } /* #meの直下にあるspan */
実行結果
1の背景色がgoldになります。
間接セレクタとは
間接セレクタとは、基準要素以降にある要素を指定するためのセレクタです。
HTML
<span>1</span> <span>2</span> <span id="me">3</span> <span>4</span> <span>5</span>
CSS
#me ~ span { background: gold; } /* #me以降にあるspan */
実行結果
4と5の背景色がgoldになります。
それぞれのセレクタの活用場面
HTMLの構造や要素間の関係から特定の要素を選択できます。
そのため、HTMLにclassやidが付いていなくても選択可能です。
システムで自動的に出力されるHTMLなど、自分で自由にHTMLを書くことができない場合でもCSSでスタイルを設定できます。
HTML
<section> <h1>タイトル</h1> <p>テキスト1</p> <p>テキスト2</p> <p>テキスト3</p> <ul> <li>リスト1 <p>リストの中のテキスト</p> </li> <li>リスト2 <p>リストの中のテキスト</p> </li> </ul> <p>テキスト4</p> </section>
CSS
section > p{ color: tomato; } h1 + p{ color: gold; } ul ~ p { color: limegreen; }
実行結果
このコードではp要素にclassやidは付いていないものの、CSSの隣接セレクタや直下セレクタ、間接セレクタを使って色を変えました。
直下セレクタを使って、section要素の直下にあるp要素を赤色にしました。
section要素の直下にあるp要素のみに適用されるので、リスト内にあるp要素の色は変わっていません。
隣接セレクタを使ってh1要素の次にあるp要素のみを黄色に、間接セレクタを使ってリストよりも後にあるp要素を緑色にしました。
HTMLの構造を見極めてセレクタを使ってみましょう。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
執筆してくれたメンター
メンター 橋本真理
フリーのweb/グラフィックデザイナー。 会社・店舗・自治体等のwebサイトのデザインから制作一式、ロゴや各種広告などのグラフィックデザインを主に活動、TechAcademyではWebデザインコース・WordPressコースを担当しています。 ラジオとバナナが好き。 |

CSSの隣接・直下・間接セレクタの違いについてわかって良かったです!

ゆかりちゃんも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは初心者でも、オリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので参加してみてください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)