リストやテーブルの行に繰り返してスタイルを指定する方法があります。 Ardor(@ArdorOnline)です。 以前は、奇数に"odd"、偶数に"even"とクラスを指定して対応することが多かったです。 CSS3からは、構造擬似クラスを使って、もっと簡単に指定が行えます。簡単にご紹介します。
構造擬似クラス
構造擬似クラスはいくつかあるのですが、 リストやテーブル要素などに繰り返しスタイルを指定するときには、 ":nth-child"が便利です。主な使い方は次の通りです。
| セレクタ | 適用先 | サンプル |
|---|---|---|
| :nth-child | 奇数要素に適用 | li:nth-child(odd) { background-color: white; } |
| 偶数要素に適用 | li:nth-child(even) { background-color: white; } |
|
| 奇数要素に適用(an+b) | li:nth-child(2n+1) { background-color: white; } |
|
| 偶数要素に適用(an+b) | li:nth-child(2n+2) { background-color: white; } |
|
| 3つおきに適用(an+b) | li:nth-child(3n+1) { background-color: white; } |
|
| li:nth-child(3n+2) { background-color: white; } |
||
| li:nth-child(3n+3) { background-color: white; } |
||
| 最初の3つに適用(an+b) | li:nth-child(-n+3) { background-color: white; } |
スタイルシートの記述
リストに対して適用する記述例です。
.sample1 li:nth-child(odd) {
background-color: greenyellow;
}
.sample1 li:nth-child(even) {
background-color: yellow;
}
.sample2 li:nth-child(2n+1) {
background-color: greenyellow;
}
.sample2 li:nth-child(2n+2) {
background-color: yellow;
}
.sample3 li:nth-child(3n+1) {
background-color: greenyellow;
}
.sample3 li:nth-child(3n+2) {
background-color: yellow;
}
.sample3 li:nth-child(3n+3) {
background-color: lightskyblue;
}
.sample4 li:nth-child(-n+3) {
background-color: lightskyblue;
}
サンプル
nth-child(odd)、nth-child(even)で指定した場合のサンプル
- 奇数行
- 偶数行
- 奇数行
- 偶数行
nth-child(2n+1)、nth-child(2n+2)で指定した場合のサンプル
- 奇数行
- 偶数行
- 奇数行
- 偶数行
nth-child(3n+1)、nth-child(3n+2)、nth-child(3n+3)で指定した場合のサンプル
- 1行目
- 2行目
- 3行目
- 4行目
- 5行目
- 6行目
- 7行目
nth-child(-n+3)で指定した場合のサンプル
- 1行目
- 2行目
- 3行目
- 4行目
- 5行目
- 6行目
- 7行目
最後に
リストのみご紹介しましたが、テーブルでも同じことが可能です。
nth-childには、もう少し応用した使い方があります。
またの機会にご紹介してみます。
最後までお読み頂きありがとうございます。

0 件のコメント:
コメントを投稿