:nth-child()
:nth-child() は CSS の擬似クラスで、兄弟要素のグループの中での位置に基づいて選択します。つまり :nth-child() セレクターは、親要素内のすべての兄弟要素同士の位置に従って子要素を選択します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 1 | 12 | 3.5 | 3.1 | 18 | 2 | |
| その他 | ||||||
| :最初の子 | 4 | 12 | 3 | 3.1 | 18 | 4 |
| CSS セレクタ | ||||||
no parent required 親のない要素と一致します | 57 | 79 | 52 | | 57 | |
| その他 | ||||||
| `:最後の子` | 1 | 12 | 1 | 3.1 | 18 | 2 |
| CSS セレクタ | ||||||
no parent required 親のない要素と一致します | 57 | 79 | 52 | | 57 | |
no parent required 親のない要素と一致します | 57 | 79 | 52 | | 57 | |
| その他 | ||||||
| `:nth-last-child()` | 4 | 12 | 3.5 | 3.1 | 18 | 2 |
| CSS セレクタ | ||||||
no parent required 親のない要素と一致します | 57 | 79 | 52 | | 57 | |
| その他 | ||||||
| `:一人っ子` | 2 | 12 | 1.5 | 3.1 | 18 | 2 |
| CSS セレクタ | ||||||
no parent required 親のない要素と一致します | 57 | 79 | 52 | 17 | 57 | 17 |
基本構文
CSS
tr:nth-child(even) {
background-color: #f5f5f5;
}
li:first-child {
font-weight: bold;
}
.grid > :nth-child(3n) {
margin-right: 0;
} ライブデモ
実務での使いどころ
-
テーブルのストライプ表示
:nth-child(even)で偶数行に背景色を適用し、テーブルの可読性を向上させるゼブラストライプを実現します。
注意点
- :nth-child()は要素の型に関係なくすべての兄弟要素をカウントします。型でフィルタリングしたい場合は:nth-of-type()を使用してください。
アクセシビリティ
- テーブルのストライプ表示で使用する背景色が、テキストとのコントラスト比を維持していることを確認してください。