home
twitter
ページトップへ
目次
  • そもそもCSSの「セレクター」とは何か?
  • 「後続兄弟結合子」とは何か?(subsequent sibling combinator)
  • 「後続兄弟結合子」の使い方!
  • 実際に使ってみる!
  • こんな時はどうなるの?
  • 他の結合子とも組み合わせて使える!
  • 使用例その2!
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ
about
categories
page
archive
皇帝ペンギンブログ

2024/02/10 (更新日:2024/07/11)

【CSS】「後続兄弟結合子」について解説!【subsequent sibling combinator】

Categories > CSSのセレクター編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

この記事ではCSSの「後続兄弟結合子」について解説します。

「後続兄弟結合子」って何??

このような方が対象です。

この記事の内容!

  • そもそもセレクターとは何か?
  • 「後続兄弟結合子」とは何か?
  • 「後続兄弟結合子」の使い方
  • 「後続兄弟結合子」の使用例!
また、下の動画でも「後続兄弟結合子」について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは内容へ入ります!

目次
非表示
  • そもそもCSSの「セレクター」とは何か?
  • 「後続兄弟結合子」とは何か?(subsequent sibling combinator)
  • 「後続兄弟結合子」の使い方!
  • 実際に使ってみる!
  • こんな時はどうなるの?
  • 他の結合子とも組み合わせて使える!
  • 使用例その2!
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ

そもそもCSSの「セレクター」とは何か?

セレクターの箇所を図示

CSSの「セレクター」とは「どの要素にスタイルを当てるか?」を指定する箇所のことを指します。

ふむふむ。

「後続兄弟結合子」とは何か?(subsequent sibling combinator)

「後続兄弟結合子」とは何か?(subsequent sibling combinator)

h3 ~ p {
    font-size: 16px;
}

「後続兄弟結合子」とはCSSのセレクターを繋げることができる結合子の1つです。

「互いに独立して有効なセレクター同士」を繋げることで、スタイルが当たる範囲を狭めることができます。

記号は「~」チルダを使います。

英語では「subsequent sibling combinator」と呼ばれます。

「後続兄弟結合子」の使い方!

「後続兄弟結合子」を使うことで「同じ親要素を持つ」「1つ目の要素以降の」「全ての2つ目の要素」にスタイルを当てることができます。

「後続兄弟結合子」の使い方!

  • 「同じ親要素を持つ」(つまり兄弟要素)
  • 「1つ目の要素以降の」
  • 「全ての2つ目の要素」にスタイルを当てることができる
  • 記号は「~」を使う!

※「同じ親要素を持つ」というルールがあるので注意してください!結合子の左右は兄弟要素である必要があります。

「1つ目の要素」ってのは「~」の左側にくる要素のことで、「2つ目の要素」ってのは「~」の右側にくる要素のことです!

実際に使ってみる!

「後続兄弟結合子」をつかってみた

<h2>h2の見出しです。</h2>
<p>段落です。</p>
<p>段落です。</p>
<p>段落です。</p>
<h3>h3の見出しです。</h3>
<p>段落です。</p>
<p>段落です。</p>
<p>段落です。</p>
h3 ~ p {
    font-size: 12px;
    color: blue;
}

「h3」以降の「p」にスタイルが当たっていることが確認できると思います!

また、しっかり「h3」と「p」は「同じ親要素を持つ」兄弟要素です。

「~」後続兄弟結合子はこんな感じで使えるんだね!

こんな時はどうなるの?

基本的な解説はできたと思うのですが「こんな時はどうなるか」というような具体例を挙げてより詳しく解説していこうと思います!
わーい!

他の結合子とも組み合わせて使える!

使用例1

<h2>h2の見出しです。</h2>
<p>段落です。</p>
<div class="foo">
    <p>段落です。</p>
    <p>段落です。</p>
</div>
<p>段落です。</p>
<p>段落です。</p>
<h3>h3の見出しです。</h3>
<p>段落です。</p>
<div class="foo">
    <p>段落です。</p>
    <p>段落です。</p>
</div>
<p>段落です。</p>
<p>段落です。</p>
h3 ~ .foo p {
    font-size: 16px;
    color: blue;
}
.foo {
    padding-left: 30px;
    border: 2px solid #333;
}

このような場合はまず「~」の「すぐ左とすぐ右」を見ます。

すると「h3 ~ .foo」となっています。ここが兄弟要素であって、「h3以降の.foo」というような意味になります。

そして次に、選ばれた「.foo」の中の「p」にスタイルが当たる、という状況です。

このように、まず「~」のすぐ左右の要素だけで考えて、それから「さらに右に続く要素も考える」という順番で考えてください。

使用例その2!

<h2>h2の見出しです。</h2>
<h3>h3の見出しです。</h3>
<p>段落です。</p>
<h2>h2の見出しです。</h2>
<div class="hoge">
    <p>段落です。</p>
    <div class="foo">
        <p>段落です。</p>
        <p>段落です。</p>
    </div>
    <h3>h3の見出しです。</h3>
    <p>段落です。</p>
    <p>段落です。</p>
    <h3>h3の見出しです。</h3>
    <p>段落です。</p>
    <div class="foo">
        <p>段落です。</p>
        <p>段落です。</p>
    </div>
    <p>段落です。</p>
    <p>段落です。</p>
</div>
.hoge h3 ~ .foo p {
    font-size: 16px;
    color: blue;
}
.hoge {
    padding: 10px;
    border: 2px solid pink;
}
.foo {
    padding-left: 30px;
    border: 2px solid #333;
}

「.hoge h3 ~ .foo p」のようなセレクターの場合はどうなるか?を考えていきます。

まず左から順番に考えていきます。なので「.hoge」の中の要素に絞ります。

そしてその中の「h3」と「.foo」を考えます。これは先ほどと一緒です。「h3と.foo」は兄弟要素になります。

そして、最後に選ばれた「.foo」の中の「p」にスタイルが当たるという感じになります。

こんな感じで順番に1つずつ考えていけば、どの要素にスタイルが当たるのか見えてくると思うので、少し複雑になりましたが、細かくして考えてけばOKです!!
「” “」半角空白などの他の結合子についても解説しています!

上の例でも使われている「子孫結合子」などについては僕の下記の記事で解説していますので、気になる方はこちらからどうぞ!

【CSS】セレクターの「子孫結合子」について解説!【descendant combinator】

関連記事

【CSS】セレクターの「子結合子」について解説!【child combinator】

関連記事

参考リンク。

仕様書。
https://drafts.csswg.org/selectors/#general-sibling-combinators

MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/Subsequent-sibling_combinator

あわせて読みたい記事。

大学生が夏休みにweb制作で13万円稼ぐまでにやったこと。【経験談】

関連記事

まとめ

CSSの「セレクター」とは「どの要素にスタイルを当てるか?」を指定する箇所のことを指す。

「後続兄弟結合子」とはCSSのセレクターを繋げることができる結合子の1つ。

記号は「~」チルダを使う。

英語では「subsequent sibling combinator」と呼ばれる。

「後続兄弟結合子」の使い方!

  • 「同じ親要素を持つ」(つまり兄弟要素)
  • 「1つ目の要素以降の」
  • 「全ての2つ目の要素」にスタイルを当てることができる
  • 記号は「~」を使う!
こんな感じですかね!

この記事が気に入った方は僕のTwitter(@chibasyuta)のフォローもお願いします!

また、下の動画でも「後続兄弟結合子」について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それではこんな感じでこの記事を終わります!

ではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.