Pseudo-class :not () adalah pemilih pseudo-class negasi CSS. Ini adalah pemilih pseudo-class fungsional yang mengambil pemilih sederhana sebagai argumen, dan kemudian mencocokkan satu atau lebih elemen yang tidak diwakili oleh argumen.
Pemilih sederhana yang: tidak () dianggap sebagai argumen dapat berupa salah satu dari yang berikut:
- Ketik pemilih (mis. P, span, dll.)
- Pemilih kelas (mis. Elemen, .sidebar, dll.)
- Pemilih ID (mis. # header)
- Pemilih pseudo-class (mis: first-child, last-of-type)
- Pemilih atribut (mis. [Type = “checkbox”])
- Pemilih universal (*)
Argumen yang diteruskan ke: not () tidak dapat, bagaimanapun, menjadi pemilih elemen semu (seperti :: sebelum dan :: sesudah, antara lain) atau pemilih pseudo-kelas negasi lainnya.
Jadi, berikut ini adalah yang tidak valid jika menggunakan Pseudo-class :not:
p:not(:not(.same)) {}
p:not(:not(:last-child)) {}
:not(::first-letter) {}
a:not(::after) {}
Jadi Pseudo-class not () tidak dapat disarangkan dan itu juga tidak bisa bersarang di dalam: matches() pemilih Pseudo-class :matches
Seperti disebutkan sebelumnya, pemilih: not () cocok dengan elemen yang tidak diwakili oleh pemilih dalam argumennya. Jadi, aturan ini:
li:not(.new) {
/ * pengecualian class new * /
}
akan memilih semua item li kecuali yang memiliki class dengan nama new