質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.33%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

3回答

135閲覧

CSS nth-of-type()について

HAYASHIDA24

総合スコア1

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2025/02/16 12:42

実現したいこと

クラス名(aaa-aaa-outer)の子要素(aaa-aaa-wrapper)3つのうち、2番目と3番目にCSSを当てたい。

発生している問題・分からないこと

予想しない箇所にも、CSSが適用されている状態。
いろいろと調べてみたが、いろいろとごちゃごちゃになってきた。

該当のソースコード

HTML

1<div class="aaa-aaa-outer"> 2 <div class="aaa-aaa-wrapper"> 3  <div class="aaa-aaa-inner"> 4   <div class="wp-block-column"> 5    <figure class="wp-block-image size-large">・・・</figure> 6   </div> 7   <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">※何故かここにも適用されている。 8    <p class="font-zen-antique feature-second-title">テキスト</p> 9    <p>テキスト、テキスト、テキスト</p> 10   </div> 11  </div> 12 </div> 13 <div class="aaa-aaa-wrapper">※適用したい箇所① 14  <div class="aaa-aaa-inner"> 15   <div class="wp-block-column"> 16    <figure class="wp-block-image size-large">・・・</figure> 17   </div> 18   <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">※何故かここにも適用されている。 19    <p class="font-zen-antique feature-second-title">テキスト</p> 20    <p>テキスト、テキスト、テキスト</p> 21   </div> 22  </div> 23 </div> 24 <div class="aaa-aaa-wrapper">※適用したい箇所③ 25  <div class="aaa-aaa-inner"> 26   <div class="wp-block-column"> 27    <figure class="wp-block-image size-large">・・・</figure> 28   </div> 29   <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">※何故かここにも適用されている。 30    <p class="font-zen-antique feature-second-title">テキスト</p> 31    <p>テキスト、テキスト、テキスト</p> 32   </div> 33  </div> 34 </div> 35</div>

CSS

1aaa-aaa-outer div:nth-of-type(n+2):nth-of-type(-n+3) { 2 background-color: #000; 3}

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

aaa-aaa-outer div:nth-of-type(3) {background-color: #000;}
とすると、※適用したい箇所③のみにCSSが適用された。これはこれで理想通り。

aaa-aaa-outer div:nth-of-type(2) {background-color: #000;}
とすると、※適用したい箇所②と、”※何故かここにも適用されている。”の3か所に適用されてしまう。

aaa-aaa-outer div:nth-of-type(n+2) {background-color: #000;}
とすると、※上記の2つを足した状態となる。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2025/02/16 13:12

本当にその通りに書いていますか? 「aaa-aaa-outer」は<aaa-aaa-outer>というタグにヒットするもので、クラス名にはマッチしません。
guest

回答3

0

selector div:nth-of-typeのように書くと、「selector子孫のうち、親要素の中でnth-of-typeの条件を満たすdiv」ということになります。

selector直下のdivに限定したいなら、selector > div(後略としてください。

投稿2025/02/16 13:14

maisumakun

総合スコア146329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「.aaa-aaa-outer」直下の「.aaa-aaa-wrapper」の内、2番目と3番目というしばりならofを利用ください

css

1:nth-child(2 of .aaa-aaa-outer > .aaa-aaa-wrapper), 2:nth-child(3 of .aaa-aaa-outer > .aaa-aaa-wrapper) 3{ 4background-Color:yellow; 5} 6{{{

投稿2025/02/17 00:44

yambejp

総合スコア117203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

間違いの解説は省略します。

1番目だけ除外したいのであれば

CSS

1.aaa-aaa-outer > .aaa-aaa-wrapper:not(:first-child) {}

でいいと思います。

投稿2025/02/16 17:29

CTRL-S

総合スコア195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.33%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問