Menu
Coddy logo textTech

子孫セレクタ

Coddyの「CSSセレクター」コースのレッスン 8/15。

前のトピックでは、要素の直接の子をターゲットにする子結合子について学びました。次は、空白で表される子孫セレクターについて見ていきましょう。子孫セレクターを使用すると、直接の子だけでなく、別の要素内の任意のレベルにネストされている要素をターゲットにすることができます。

構文

selector1 selector2 {
  /* プロパティの宣言 */
}

例えば、

<html>
<head>
  <title>Combinator</title>
  <style>
    div p {
      color: red;
      font-size: 2em;
    }
  </style>
</head>
<body>
  <div>
    <p>This is a paragraph.</p>
    <p>This is another paragraph.</p>
  </div>
</body>
</html>

上記のCSSルールは、両方の段落を赤色にし、フォントサイズを2emに設定します。

 

子セレクターとの関係は?

子孫セレクターは、子セレクターよりも一般的です。つまり、子孫セレクターは指定された要素の子孫であるすべての要素に一致しますが、子セレクターは指定された要素の直接の子である要素にのみ一致します。

例えば、セレクター div p は、他の p 要素の中にネストされている p 要素を含め、div 要素の子孫であるすべての p 要素に一致します。セレクター div > p は、div 要素の直接の子である p 要素にのみ一致します。

challenge icon

チャレンジ

簡単

前の演習を基にして、同じHTML構造を使用しましょう。子孫セレクタを使用して、ネストの深さに関係なく、.list要素内にあるすべての段落(paragraph)にスタイルを適用するCSSルールを記述してください。色、サイズ、フォントを自由に変更してください。

自分で試してみよう

<html>
<head>
    <title>Descendant Selector Exercise</title>
    <style>
        /* CSS Code goes here */
    </style>
</head>
<body>
<div>
    <p>This paragraph is not inside a list</p>
    <ul class="list">
        <li>
            <p>This is a paragraph inside a list item.</p>
        </li>
        <li>
            <div>
                <p>This is a paragraph inside a nested div within a list item.</p>
            </div>
        </li>
    </ul>
</div>
</body>
</html>

CSSセレクターのすべてのレッスン