:nth-of-type()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
試してみましょう
dt {
font-weight: bold;
}
dd {
margin: 3px;
}
dd:nth-of-type(even) {
border: 2px solid orange;
}
<dl>
<dt>野菜:</dt>
<dd>1. トマト</dd>
<dd>2. きゅうり</dd>
<dd>3. キノコ</dd>
<dt>果物:</dt>
<dd>4. リンゴ</dd>
<dd>5. マンゴー</dd>
<dd>6. なし</dd>
<dd>7. オレンジ</dd>
</dl>
構文
css
:nth-of-type(<An+B> | even | odd) {
/* ... */
}
引数
:nth-of-type()
擬似クラスは、単一の引数を取り、照合する要素のパターンを表します。
構文の詳しい説明は :nth-child
を参照してください。
例
基本的な例
HTML
html
<div>
<div>この要素は数えられません。</div>
<p>1 つ目の段落です。</p>
<p class="fancy">2 つ目の段落です。</p>
<div>この要素は数えられません。</div>
<p class="fancy">3 つ目の段落です。</p>
<p>4 つ目の段落です。</p>
</div>
CSS
css
/* 奇数の段落 */
p:nth-of-type(2n + 1) {
color: red;
}
/* 偶数の段落 */
p:nth-of-type(2n) {
color: blue;
}
/* 最初の段落 */
p:nth-of-type(1) {
font-weight: bold;
}
/* これは 2n+1 であり、かつ fancy のクラスを持つ要素に一致するので、第 3 段落に一致します。
2 番目の段落は fancy というクラスを持っていますが、 :nth-of-type(2n+1) ではないので一致しません。 */
p.fancy:nth-of-type(2n + 1) {
text-decoration: underline;
}
結果
メモ:
このセレクターを使用して、同じクラスの n 番目のものを選択する方法はありません。このセレクターは、一致するリストを作成する際に型だけを見ます。しかし、上の例のように :nth-of-type
の位置およびクラスに基づいて要素に CSS を適用することができます。
仕様書
Specification |
---|
Selectors Level 4 # nth-of-type-pseudo |