CSSで何番目・偶数奇数などを指定する疑似クラス

2020/08/31
当サイトはアフィリエイト広告を利用しています

CSS Web

B!

CSSでは:first-child:first-of-type:nth-childなどの擬似クラスを使って、要素の何番目・奇数偶数など細かくセレクタを指定することができます。

::after::first-letterなどは擬似要素といいます。
疑似クラスと疑似要素もいつもどっちがどっちだったかな……って迷います(笑)。

擬似クラスはとても便利なのですが覚えられなくて…
いつも使うたびに調べていて時間が掛かってしまってました。
ということで、よく使うセレクタのカンニングペーパーです!

「-child」と「-of-type」

まず-child-of-typeで悩んでしまいます(笑)。

  • -child兄弟要素の中で全種の要素が当てはまります。
    • <p><li><div>などどんな要素も含まれます。
  • -of-type兄弟要素の中で同じ種類の要素のみ当てはまります。
    • <p>なら<p>のみ、classを指定したらそのclassのみを数えます。

今回のカンペでは、わかりやすいので-of-typeを使っていきます。

よく使う疑似クラス

最初と最後

:first-of-type

最初の要素

:last-of-type

最後の要素

一つのみ

:only-of-type

子要素がひとつのみ

否定

:not(除外するセレクタ)

「除外するセレクタ」で指定したセレクタ以外

奇数と偶数

:nth-of-type(odd)

奇数
:nth-of-type(2n+1)でも指定できます。

:nth-of-type(even)

偶数
:nth-of-type(2n)でも指定できます。

ちなみに、odd3文字で奇数even4文字で偶数と覚えると覚えやすいです。

最初/最後からX番目

:nth-of-type(X)

最初からX番目の要素

:nth-last-of-type(X)

最後からX番目の要素

X番目【:nth-】応用

「nth」って何の略なんだろうと思っていたら「n + th」(4th,5th…)で「n番目」ということらしい…という情報が。
実際にそういう意味なのかはわからないのですが、覚えやすかったのでそれで覚えてます。

:nth-of-type(Xn)

Xの倍数

:nth-of-type(3n)
→3・6・9・・・

:nth-of-type(n+X)

X番目以降(X番目~最後)

:nth-of-type(n+5)
→0+5=5、1+5=6、2+5=7・・・

:nth-child(-n+X)

X番目以前(最初~X番目)

:nth-child(-n+5)
→-0+5=5、-1+5=4・・・-4+5=1(最初)

最後から【:nth-last-】

上のnthとは逆順
(n=0が一番最後で、後ろから数える)

:nth-last-of-type(n+X)

最後からX番目以前

:nth-last-of-type(-n+X)

最後からX番目まで

QooQ