読み込み中...

CSSセレクターで子要素を選択する方法と使い方

CSSセレクターで子要素を選択する方法を徹底解説 CSS
この記事は約9分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Webデザインや開発において、CSSは欠かせない言語の1つです。CSSを使えば、HTMLの要素にスタイルを与えたり、レイアウトを調整したりできます。

CSSセレクターは、CSSで要素を指定する方法です。

CSSセレクターを使えば、どのような要素にもスタイルを適用することができます。

本記事では、CSSセレクターの1つである「子要素セレクター」について詳しく解説します。

子要素セレクターは、子要素のみにスタイルを適用することができるため、とても便利です。

初心者の方でも、サンプルコードを交えながらわかりやすく解説します。

●CSSセレクターとは

CSSセレクターは、CSSで要素を指定する方法のことです。

CSSセレクターを使うことで、HTMLの要素にスタイルを与えることができます。

CSSセレクターは、様々な方法で要素を指定することができます。

例えば、タグ名、クラス名、ID名、属性値などを使って要素を指定することができます。

●子要素セレクターとは

子要素セレクターは、親要素と直接関連する子要素を指定するためのセレクターです。子要素セレクターは、「親要素 > 子要素」という形で記述します。

これは、親要素の直下にある子要素だけにスタイルを適用することができます。

例えば、次のHTMLがあったとします。

<div class="parent">
  <h1>見出し1</h1>
  <p>段落1</p>
  <ul>
    <li>リスト1</li>
    <li>リスト2</li>
  </ul>
</div>

このHTMLコードには、<div>タグの中に複数の要素が配置されています。

この<div>タグが「親要素」となり、中に配置されている<h1>, <p>, <ul>などがその「子要素」となります。

ここで子要素セレクターを使ってスタイルを適用するとどうなるでしょうか。

CSSを見てみましょう。

.parent > h1 {
  color: red;
}

このコードは、.parentクラスを持つ<div>要素の直下にある<h1>タグ、つまり「見出し1」というテキストだけに、赤色を適用する命令となっています。

<p>タグや<ul>タグにはこのスタイルは適用されません。

このように、子要素セレクターを用いることで、親要素の中の特定の子要素だけにピンポイントでスタイルを適用することができます。

○子要素セレクターの応用

さらに、子要素セレクターの応用として、次のようなHTML構造を考えてみましょう。

<div class="parent">
  <h1>見出し1</h1>
  <h3>サブ見出し</h3>
  <p>段落1</p>
  <ul>
    <li>リスト1</li>
    <li>リスト2</li>
  </ul>
</div>

この中に新しく<h3>タグが追加されました。これに合わせて、次のようなCSSを追記します。

.parent > h3 {
  color: blue;
}

このコードは、.parentクラスを持つ<div>要素の直下にある<h3>タグ、すなわち「サブ見出し」というテキストに、青色を適用する命令となっています。

このように、子要素セレクターを用いることで、HTML構造の中の特定の位置にある要素に対して、独自のスタイルを適用することが可能となります。

これにより、デザインの柔軟性が高まり、より詳細なスタイリングが可能となるのです。

●子要素セレクターの使い方

CSSを学ぶ際、最も重要なのはセレクターの理解です。

セレクターを使用することで、Webページの特定の部分にデザインやレイアウトを適用することができます。

その中で、「子要素セレクター」は、特定の親要素の直下にある子要素にのみスタイルを適用する際に非常に役立ちます。

下記のHTMLコードは、<div>タグにparentというクラスが付与され、その中にさまざまな子要素が含まれています。

<div class="parent">
  <h1>見出し1</h1>
  <p>段落1</p>
  <ul>
    <li>リスト1</li>
    <li>リスト2</li>
  </ul>
</div>

このコードは、ページのセクションを表す<div>タグがあり、その中には大きな見出しを表す<h1>、文章の段落を表す<p>、そしてリストを表す<ul>タグが含まれています。

このHTMLの構造は、Webページの一部分を表しており、このような構造をデザインやレイアウトするためには、CSSのセレクターをうまく利用する必要があります。

さて、このHTMLの中で、<div class="parent">の直下にある<h1>タグの文字色を赤にしたい場合、次のようなCSSを使用します。

.parent > h1 {
  color: red;
}

このコードは、.parentクラスを持つ要素の直下にある<h1>タグのみにスタイルを適用するように指示しています。これは子要素セレクターの役割です。

具体的には、.parentクラスが付与された要素の中で、直下の<h1>タグの文字色を赤に変更します。

このため、このセレクターの指示により、他の<h1>タグや他の要素には影響を与えず、指定された場所のみにスタイルが適用されます。

○子要素セレクターの拡張

CSSにはさまざまなセレクターがありますが、子要素セレクターを使って更に具体的なターゲティングを行うことも可能です。

例として、<div class="parent">の中で、リストの2番目の項目にだけ特定のスタイルを適用したい場合を考えます。

<div class="parent">
  <h1>見出し1</h1>
  <p>段落1</p>
  <ul>
    <li>リスト1</li>
    <li>リスト2</li>
    <h3>小見出し1</h3>
  </ul>
</div>

新たに<h3>タグを追加しました。このリストの2番目の項目のテキスト色を青にしたい場合、次のようなCSSを追記します。

.parent > ul > li:nth-child(2) {
  color: blue;
}

このCSSの指示は、.parentクラスを持つ要素の中の<ul>タグの直下にある2番目の<li>タグの文字色を青にするというものです。

このように、子要素セレクターを使用することで、Webページの構造の中の特定の部分をピンポイントでデザインすることができます。

●子要素セレクターの応用例

子要素セレクターは、Webデザインや開発の分野でとても重要なツールです。

このセレクターを使用することで、特定の親要素の直下にある子要素に対してのみ、特定のスタイルを適用することができます。

これにより、Webページの見た目を精緻にコントロールすることが可能になります。

【応用例1】ナビゲーションのリンクにスタイルを適用する

では、子要素セレクターの具体的な応用例をいくつか紹介してみましょう。

まずは、ウェブサイトのナビゲーション部分に適用されるスタイルの例を見てみましょう。

<nav>
  <ul>
    <li><a href="#">リンク1</a></li>
    <li><a href="#">リンク2</a></li>
    <li><a href="#">リンク3</a></li>
  </ul>
</nav>

この場合、ナビゲーションのリンクだけにスタイルを適用する場合は、次のように記述します。

nav > ul > li > a {
  color: blue;
}

このコードは、<nav>タグ内のすべてのリンク要素(<a>タグ)に青色を適用するものです。

具体的には、nav要素の直下のul要素、その直下のli要素、そしてその直下のa要素に対して色を青に設定しています。

このように、子要素セレクターを使用することで、特定の階層の要素にのみスタイルを適用することができます。

この例では、もしnav要素の中に別の場所にもaタグが存在していても、このスタイルは適用されません。

【応用例2】特定のフォーム要素にスタイルを適用する

次に、フォーム要素に対するスタイルの適用方法を見てみましょう。

次のようなHTMLがあったとします。

<form>
  <div>
    <label for="name">名前:</label>
    <input type="text" id="name" name="name">
  </div>
  <div>
    <label for="email">メールアドレス:</label>
    <input type="email" id="email" name="email">
  </div>
  <button type="submit">送信</button>
</form>

この場合、特定のフォーム要素にスタイルを適用する場合は、次のように記述します。

form > div > label {
  font-weight: bold;
}

form > div > input[type="text"] {
  border: 1px solid red;
}

これで、フォームのラベルだけが太字になります。

このコードでは、フォーム内のラベル(<label>)要素に太字のスタイルを適用しています。

そして、テキスト入力(<input type="text">)要素には赤い境界線を追加しています。

この例でも、子要素セレクターを用いることで、特定の階層の要素にだけスタイルを適用しています。

まとめ

子要素セレクターを使うことで、親要素の直下にある子要素だけにスタイルを適用します。

これをうまく活用することで、コードの記述量を減らしながらスタイルを管理することができます。

子要素セレクターは、ナビゲーションのような特定の要素にだけスタイルを適用する場合や、フォームの特定の要素にだけスタイルを適用する場合など、さまざまな場面で役立ちます。

使いこなして効率的なコーディングを目指しましょう。