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:
1 2 3 4 5 6 7 |
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:
1 2 3 |
li:not(.new) { / * pengecualian class new * / } |
akan memilih semua item li kecuali yang memiliki class dengan nama new