経験知ロゴ

CSSで奇数、偶数、最初、最後、n番目の要素にだけスタイルを設定する方法

※本ページはプロモーションが含まれています

奇数偶数番目に要素を指定
HTML+CSSでテープルやリストなど、奇数あるいは偶数番目の要素だけ色を変えたり、最後の要素だけボーダーを付けないようにしたい場合があります。

それらはCSS3で追加された「nth-child」擬似クラスを使うことで実装することが可能ですので、その方法をリストタグで紹介します。(IEはIE9以降対応)

奇数番目の要素にだけ適用

li:nth-child(odd){
 適用したいスタイル
}

偶数番目の要素にだけ適用

li:nth-child(even){
 適用したいスタイル
}

最初の要素にだけ適用

li:first-child{
 適用したいスタイル
}

最後の要素にだけ適用

li:last-child{
 適用したいスタイル
}

上からn番目の要素にだけ適用

li:nth-child(3){
 適用したいスタイル
}

この場合上から3番目の要素にだけ適用される。数字を変えればその場所の要素だけ適用される。

上からnつの要素だけに適用

li:nth-child(-n+3) {
 適用したいスタイル
}

この場合上から3つの要素にだけ適用される。「-n」にすることに注意。

上からn番目以降の要素にだけ適用

li:nth-child(n+4) {
 適用したいスタイル
}

この場合4番目以降の要素にだけ適用される。

下からn番目の要素にだけ適用

li:nth-last-child(3){
 適用したいスタイル
}

この場合上から3番目の要素にだけ適用される。

下からnつの要素にだけ適用

li:nth-last-child(-n+3) {
 適用したいスタイル
}

この場合下から3つ目の要素にだけ適用される。「-n」にすることに注意。

下からn番目以前の要素にだけ適用

li:nth-last-child(n+4) {
 適用したいスタイル
}

この場合下から4つ目以前の要素にだけ適用される。

Xの倍数番目の要素にだけ適用

li:nth-child(3n) {
 適用したいスタイル
}

この場合3の倍数番目(3、6、9、12…)の要素にだけ適用される。

li:nth-child(3n+1) {
 適用したいスタイル
}

このようにすると3の倍数に1を足した数番目(1、4、7、10…。)の要素にだけ適用される。

おわりに

いろいろなパターンで指定できるようになり、CSSのデザインの幅が広がっています。

個人的にはIF文を使った分岐が出来ると嬉しいです。(PHPやjavascriptを使わずに)

役に立ったらこの記事のシェアをお願いします

ブログのフォロー・RSS購読は下記ボタンから