本記事では、CSSで隣接している要素に対してのみスタイルを適用させる方法について解説しています。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
隣接している要素にスタイルを適用
隣接している要素にスタイルを適用させる方法は以下のとおりです。
セレクタ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の情報を元にスタイルを適用させる方法について解説しています。...