HTML/CSS

【CSS】隣接している要素にスタイルを適用させる方法

本記事では、CSSで隣接している要素に対してのみスタイルを適用させる方法について解説しています。

HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座

参考書が苦手な人はUdemyの動画がおすすめ
ちゃんと学ぶ、HTML+CSS&JavaScript入門講座

動画情報
作成者たにぐち まこと
学習時間9時間
受講者数43,706人
レビュー (9,232件)
動画の詳細はこちら

隣接している要素にスタイルを適用

隣接している要素にスタイルを適用させる方法は以下のとおりです。

セレクタ1 + セレクタ2 {
  /* スタイルを記述 */
}

2つの要素を「+」記号で繋げることで、後続の要素に対してスタイルを適用することが出来ます。

つまり、セレクタ2に設定されている要素にのみスタイルが適用されます。

言葉だけでは「+」がどのような挙動をするのか理解しづらいので、実際にサンプルコードを用いて確認してみましょう。

サンプルコードの内容は、class名「point」が付与されているpタグに隣接しているタグがpタグだった場合は、テキストカラーを赤色に変更するものです。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="index.css" />
  </head>
  <body>
    <div>
      <p>テキスト1</p>
      <p class="point">ポイント1</p>
      <p>テキスト2</p>
    </div>
    <hr />
    <div>
      <p>テキスト3</p>
      <p class="point">ポイント2</p>
      <div>テキスト4</div>
    </div>
  </body>
</html>
.point + p {
  color: red;
}
サンプルコード表示結果
サンプルコード表示結果

表示結果を確認してみると、テキスト2のみスタイルが当たっていることが確認出来ます。テキスト4もスタイルが当たりそうな感じですが、+記号の後はpタグと限定しているためdivタグで囲われているdivタグはスタイルの適用がされません。

隣接している要素を指定する際に「+」記号を使用しますが、後続ではなく前の要素は指定することが出来ません。

隣接している要素をid指定

隣接している要素が特定のidを持っている場合にのみ、スタイルを適用させたい場合は以下のように記述します。

セレクタ1 + #id名 {
  /* スタイルを記述 */
}

隣接している要素をclass指定

隣接している要素が特定のclassを持っている場合にのみ、スタイルを適用させたい場合は以下のように記述します。

セレクタ1 + .class名 {
  /* スタイルを記述 */
}
【CSS】id・class指定でスタイルを適用させる方法本記事では、CSSでHTMLに設定されているid・classの情報を元にスタイルを適用させる方法について解説しています。...

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村