diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-01-04 22:42:47 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-01-14 23:09:59 +0900 |
commit | 64921fbf956f49e5fa94c4126076094bb86d770a (patch) | |
tree | 35145dc5c01466a4c35b288063ef10dc04f65953 | |
parent | d0b5cd72d2912f754bbe3b82a4ec209df2f711b8 (diff) | |
download | translated-content-64921fbf956f49e5fa94c4126076094bb86d770a.tar.gz translated-content-64921fbf956f49e5fa94c4126076094bb86d770a.tar.bz2 translated-content-64921fbf956f49e5fa94c4126076094bb86d770a.zip |
2021/12/17 時点の英語版に同期
-rw-r--r-- | files/ja/web/css/_colon_nth-child/index.md | 286 |
1 files changed, 129 insertions, 157 deletions
diff --git a/files/ja/web/css/_colon_nth-child/index.md b/files/ja/web/css/_colon_nth-child/index.md index bb7351fa96..13c5d34ddc 100644 --- a/files/ja/web/css/_colon_nth-child/index.md +++ b/files/ja/web/css/_colon_nth-child/index.md @@ -1,148 +1,143 @@ --- title: ':nth-child()' -slug: 'Web/CSS/:nth-child' +slug: Web/CSS/:nth-child tags: - CSS - - Reference - - Selectors - - Web - - セレクター + - レイアウト - 擬似クラス -translation_of: 'Web/CSS/:nth-child' + - リファレンス + - セレクター + - ウェブ +browser-compat: css.selectors.nth-child +translation_of: Web/CSS/:nth-child --- -<div>{{CSSRef}}</div> +{{CSSRef}} -<p><a href="/ja/docs/Web/CSS">CSS</a> の <strong><code>:nth-child()</code></strong> <a href="/ja/docs/Web/CSS/Pseudo-classes" title="Pseudo-classes">擬似クラス</a>は、兄弟要素のグループの中での位置に基づいて選択します。</p> +**`:nth-child()`** は [CSS](/ja/docs/Web/CSS) の[擬似クラス](/ja/docs/Web/CSS/Pseudo-classes)で、兄弟要素のグループの中での位置に基づいて選択します。 -<pre class="brush: css no-line-numbers">/* リスト中の2番目の <li> 要素を選択 */ +```css +/* リスト中の 2 番目の <li> 要素を選択 */ li:nth-child(2) { - color: lime; + color: lime; } -/* 兄弟要素の中で3つおきに - 要素を選択 */ +/* 兄弟要素の中で 3 つおきに要素を選択 */ :nth-child(4n) { color: lime; } -</pre> +``` + +## 構文 + +`:nth-child()` 擬似クラスは、引数を 1 つ指定し、リストの子要素を要素の位置で選択するためのパターンを記述します。要素の位置は 1 から始まります。 + +### キーワード値 -<h2 id="Syntax" name="Syntax">構文</h2> +- `odd` + - : 一連の兄弟要素の中で奇数番目の要素 (1, 3, 5, など) を表します。 +- `even` + - : 一連の兄弟要素の中で偶数番目の要素 (2, 4, 6, など) を表します。 -<p><code>nth-child</code> 擬似クラスは、引数を1つ指定し、リストの子要素を要素の位置で選択するためのパターンを記述します。要素の位置は1から始まります。</p> +### 関数記法 -<h3 id="Keyword_values" name="Keyword_values">キーワード値</h3> +- `<An+B>` -<dl> - <dt><code>odd</code></dt> - <dd>一連の兄弟要素の中で奇数番目の要素 (1, 3, 5, など) を表します。</dd> - <dt><code>even</code></dt> - <dd>一連の兄弟要素の中で偶数番目の要素 (2, 4, 6, など) を表します。</dd> -</dl> + - : リスト中の位置が、 `An+B` で定義された数値のパターンと一致する要素を表します。 -<h3 id="Functional_notation" name="Functional_notation">関数表記</h3> + - `A` は整数の刻み値です。 + - `B` は整数の加算値です。 + - `n` はすべての正の整数で、 0 から始まります。 -<dl> - <dt><code><An+B></code></dt> - <dd>リスト中の位置が、 <code>An+B</code> で定義された数値のパターンと一致する要素を表します。<br> - <code>A</code> は整数の刻み値です。<br> - <code>B</code> は整数の加算値です。<br> - <code>n</code> はすべての正の整数で、0から始まります。</dd> - <dd>リスト中の <em>An+B</em> 番目の要素として読むことができます。</dd> -</dl> + リスト中の *An+B* 番目の要素として読むことができます。 -<h3 id="Formal_syntax" name="Formal_syntax">形式文法</h3> +### 形式文法 {{csssyntax}} -<h2 id="Examples" name="Examples">例</h2> +## 例 <h3 id="Example_selectors" name="Example_selectors">セレクターの例</h3> -<dl> - <dt><code>tr:nth-child(odd)</code> 又は <code>tr:nth-child(2n+1)</code></dt> - <dd>HTML テーブルの奇数行 (1, 3, 5, など) を表します。</dd> - <dt><code>tr:nth-child(even)</code> または <code>tr:nth-child(2n)</code></dt> - <dd>HTML テーブルの偶数行 (2, 4, 6, など) を表します。</dd> - <dt><code>:nth-child(7)</code></dt> - <dd>7番目の要素を表します。</dd> - <dt><code>:nth-child(5n)</code></dt> - <dd><strong>5</strong>番目 [=5×1], <strong>10</strong>番目 [=5×2], <strong>15</strong>番目 [=5×3], <strong>等</strong>の要素を表します。最初のものは <strong>0</strong>番目 [=5x0] が式の結果として返りますが、 <code>n</code> が0から始まるのに対して添字は1から始まるので、一致するものはないという結果になります。これは最初は奇妙に見えるかもしれませんが、次の例のように <code>B</code> の部分が <code>>0</code> となる場合にもっとよく分かるでしょう。</dd> - <dt><code>:nth-child(n+7)</code></dt> - <dd>7番目とそれ以降のすべての要素を表します。 <strong>7</strong>番目 [=0+7], <strong>8</strong>番目 [=1+7], <strong>9</strong>番目 [=2+7], <strong>等</strong>です。</dd> - <dt><code>:nth-child(3n+4)</code></dt> - <dd><strong>4</strong>番目 [=(3×0)+4], <strong>7</strong>番目 [=(3×1)+4], <strong>10</strong>番目 [=(3×2)+4], <strong>13</strong>番目 [=(3×3)+4], <strong>等</strong>の要素を表します。</dd> - <dt><code>:nth-child(-n+3)</code></dt> - <dd>兄弟要素のグループの中で最初の3つの要素を表します。 [=-0+3, -1+3, -2+3]</dd> - <dt><code>p:nth-child(n)</code></dt> - <dd>兄弟要素のグループの中ですべての <code><p></code> 要素を表します。これは単純な <code>p</code> セレクターと同じ要素を選択します (但し、具体度はより高くなります)。</dd> - <dt><code>p:nth-child(1)</code> または <code>p:nth-child(0n+1)</code></dt> - <dd>兄弟要素のグループの中で最初の <code><p></code> 要素すべてを表します。これは {{cssxref(":first-child")}} セレクターと同じです (具体度も同じです)。</dd> -</dl> - -<dl> - <dt><code>p:nth-child(n+8):nth-child(-n+15)</code></dt> - <dd>兄弟要素のグループの中で8~15番目の <code><p></code> 要素を表します。</dd> -</dl> - -<h3 id="Detailed_example" name="Detailed_example">詳細な例</h3> - -<h4 id="HTML">HTML</h4> - -<pre class="brush:html"><h3><code>span:nth-child(2n+1)</code>, WITHOUT an - <code>&lt;em&gt;</code> among the child elements.</h3> -<p>Children 1, 3, 5, and 7 are selected.</p> -<div class="first"> - <span>Span 1!</span> - <span>Span 2</span> - <span>Span 3!</span> - <span>Span 4</span> - <span>Span 5!</span> - <span>Span 6</span> - <span>Span 7!</span> -</div> - -<br> - -<h3><code>span:nth-child(2n+1)</code>, WITH an - <code>&lt;em&gt;</code> among the child elements.</h3> -<p>Children 1, 5, and 7 are selected.<br> - 3 is used in the counting because it is a child, but it isn't - selected because it isn't a <code>&lt;span&gt;</code>.</p> -<div class="second"> - <span>Span!</span> - <span>Span</span> - <em>This is an `em`.</em> - <span>Span</span> - <span>Span!</span> - <span>Span</span> - <span>Span!</span> - <span>Span</span> -</div> - -<br> - -<h3><code>span:nth-of-type(2n+1)</code>, WITH an - <code>&lt;em&gt;</code> among the child elements.</h3> -<p>Children 1, 4, 6, and 8 are selected.<br> - 3 isn't used in the counting or selected because it is an <code>&lt;em&gt;</code>, - not a <code>&lt;span&gt;</code>, and <code>nth-of-type</code> only selects - children of that type. The <code>&lt;em&gt;</code> is completely skipped - over and ignored.</p> -<div class="third"> - <span>Span!</span> - <span>Span</span> - <em>This is an `em`.</em> - <span>Span!</span> - <span>Span</span> - <span>Span!</span> - <span>Span</span> - <span>Span!</span> -</div> -</pre> - -<h4 id="CSS">CSS</h4> - -<pre class="brush: css">html { +- `tr:nth-child(odd)` または `tr:nth-child(2n+1)` + - : HTML テーブルの奇数行 (1、3、5、など) を表します。 +- `tr:nth-child(even)` または `tr:nth-child(2n)` + - : HTML テーブルの偶数行 (2、4、6、など) を表します。 +- `:nth-child(7)` + - : 7 番目の要素を表します。 +- `:nth-child(5n)` + - : **5** 番目 \[=5×1]、**10** 番目 \[=5×2]、**15** 番目 \[=5×3]、**等**の要素を表します。最初のものは **0** 番目 \[=5x0] が式の結果として返りますが、 `n` が 0 から始まるのに対して添字は 1 から始まるので、一致するものはないという結果になります。これは最初は奇妙に見えるかもしれませんが、次の例のように `B` の部分が `>0` となる場合にもっとよく分かるでしょう。 +- `:nth-child(n+7)` + - : 7 番目とそれ以降のすべての要素を表します。 **7** 番目 \[=0+7]、**8** 番目 \[=1+7]、**9** 番目 \[=2+7]、**等**です。 +- `:nth-child(3n+4)` + - : **4** 番目 \[=(3×0)+4]、**7** 番目 \[=(3×1)+4]、**10** 番目 \[=(3×2)+4]、**13** 番目 \[=(3×3)+4]、**等**の要素を表します。 +- `:nth-child(-n+3)` + - : 兄弟要素のグループの中で最初の 3 つの要素を表します。 \[=-0+3, -1+3, -2+3] +- `p:nth-child(n)` + - : 兄弟要素のグループの中ですべての `<p>` 要素を表します。これは単純な `p` セレクターと同じ要素を選択します (但し、詳細度はより高くなります)。 +- `p:nth-child(1)` または `p:nth-child(0n+1)` + - : 兄弟要素のグループの中で最初の `<p>` 要素すべてを表します。これは {{cssxref(":first-child")}} セレクターと同じです (詳細度も同じです)。 + +- `p:nth-child(n+8):nth-child(-n+15)` + - : 兄弟要素のグループの中で 8 ~ 15 番目の `<p>` 要素を表します。 + +### 詳細な例 + +```html +<h3><code>span:nth-child(2n+1)</code> で、子要素の間に + <code><em></code> がない場合</h3> +<p>子要素 1, 3, 5, 7 が選択されます。</p> +<div class="first"> + <span>Span 1!</span> + <span>Span 2</span> + <span>Span 3!</span> + <span>Span 4</span> + <span>Span 5!</span> + <span>Span 6</span> + <span>Span 7!</span> +</div> + +<br> + +<h3><code>span:nth-child(2n+1)</code> で、子要素の間に + <code><em></code> がある場合</h3> +<p>子要素 1, 5, 7 が選択されます。<br> + 3 は子要素などでカウントに入りますが、 + <code><span></code> ではないので選択されません。</p> +<div class="second"> + <span>Span!</span> + <span>Span</span> + <em>これは `em`</em> + <span>Span</span> + <span>Span!</span> + <span>Span</span> + <span>Span!</span> + <span>Span</span> +</div> + +<br> + +<h3><code>span:nth-of-type(2n+1)</code> で、子要素の間に + <code><em></code> がある場合</h3> +<p>子要素 1, 4, 6, 8 が選択されます。<br> + 3 は <code><em></code> であり、 + <code><span></code> ではないのでカウントに入りません。 <code>nth-of-type</code> + はこの型の子のみを選択します。 <code><em></code> は完全に飛ばされ、無視されます。</p> +<div class="third"> + <span>Span!</span> + <span>Span</span> + <em>これは `em`</em> + <span>Span!</span> + <span>Span</span> + <span>Span!</span> + <span>Span</span> + <span>Span!</span> +</div> +``` + +#### CSS + +```css +html { font-family: sans-serif; } @@ -158,44 +153,21 @@ div em { .second span:nth-child(2n+1), .third span:nth-of-type(2n+1) { background-color: lime; -}</pre> - -<h4 id="Result" name="Result">結果</h4> - -<p>{{EmbedLiveSample('Detailed_example', 550, 550)}}</p> - -<h2 id="Specifications" name="Specifications">仕様書</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - <th scope="col">状態</th> - <th scope="col">備考</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('CSS4 Selectors', '#nth-child-pseudo', ':nth-child')}}</td> - <td>{{Spec2('CSS4 Selectors')}}</td> - <td><code><selector></code> の構文と仕様書に、親を持たない要素も一致するよう追加。</td> - </tr> - <tr> - <td>{{SpecName('CSS3 Selectors', '#nth-child-pseudo', ':nth-child')}}</td> - <td>{{Spec2('CSS3 Selectors')}}</td> - <td>初回定義。</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> - -<div> -<p>{{Compat("css.selectors.nth-child")}}</p> -</div> +} +``` + +#### 結果 + +{{EmbedLiveSample('Detailed_example', 550, 550)}} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 -<ul> - <li>{{ Cssxref(":nth-of-type") }}, {{ Cssxref(":nth-last-child") }}</li> -</ul> +- {{ Cssxref(":nth-of-type") }}, {{ Cssxref(":nth-last-child") }} |