2023.02.13

HTML・CSS

隣接セレクタ、間接セレクタ、直下セレクタについて

隣接セレクタ、間接セレクタ、直下セレクタの動作を確認します。
デモページはこちら

隣接セレクタ間接セレクタ直下セレクタ
A + BA ~ BA > B
同一階層同一階層直下階層
直後のみ直後以降複数直下複数

隣接セレクタ「+(プラス)」は同一階層の直後の要素のみに適用されます。

<h1 class="ttl">見出し</h1>
<div class="txt">ダミーテキスト(適用)</div>
<div class="txt">ダミーテキスト</div>
h1 + div {
  color: #ff0000;
}

間接セレクタ「~(チルダ)」は同一階層の直後以降、複数の要素に適用されます。

<h2 class="ttl">見出し</h2>
<div class="txt">ダミーテキスト(適用)</div>
<div class="txt">ダミーテキスト(適用)</div>
h2 ~ div {
  color: #ff0000;
}

離れている特定の同一階層の要素に対し、クラス名を指定して間接セレクタを適用することもできます。

<h3 class="ttl">見出し</h3>
<div class="txt">ダミーテキスト</div>
<div class="subtxt">ダミーテキスト(適用)</div>
h3 ~ .subtxt {
  color: #ff0000;
}

直下セレクタ「>」は直下階層の複数の要素に適用されます。適用されるのは直下の階層のみで、階層が深くなると適用されません。

<ul class="list">
  <li class="txt">ダミーテキスト</li>
  <li class="txt">ダミーテキスト(適用)
    <ul class="sublist">
      <li class="txt">ダミーテキスト</li>
      <li class="txt">ダミーテキスト</li>
    </ul>
  </li>
  <li class="txt">ダミーテキスト(適用)</li>
</ul>
.list > li:not(:first-child) {
  margin-top: 20px;
}

関連記事

2021.02.06

HTML・CSS

高さを判定してoverflow-yプロパティで縦スクロール

画面の高さが要素の高さよりも低くなった場合、要素にoverflow-yプロパティを適用して要素内のコンテンツを縦スクロールで表示します。デモページはこちら 画面…

2024.09.25

HTML・CSS

marginの相殺について

兄弟要素と親子要素で発生するmarginの相殺について確認します。また相殺が発生しない例外についても確認します。デモページはこちら 共通のCSSは以下になります…

2020.11.04

HTML・CSS

inline要素のマージン

デモページはこちら inline要素にCSSでマージンを設定した場合の挙動です。以下のhtml構造のspanタグでテストします。 inline要素に左右のマージ…

2025.08.05

HTML・CSS

border-imageを利用したグラデーションのボーダー

CSSのborder-imageプロパティを利用して、グラデーションのボーダーを作成します。デモページはこちら border-imageはborder-imag…

2022.05.12

HTML・CSS

asideタグの使い方

asideタグはメインコンテンツの内容と関連はしているが、メインコンテンツではない補足情報を表します。主に「バナー広告」「関連記事」「サイドバー」「モーダルコン…

上に戻る