Adakah Pemilih CSS :not() Ditujukan untuk Keturunan Jauh?
Css3 :not() pseudo-class, seperti yang diterangkan dalam dokumentasi rasmi di http://www.w3.org/TR/css3-selectors/#negation, direka untuk memadankan elemen yang tidak sepadan dengan pemilih yang diberikan. Walau bagaimanapun, pengguna telah menemui kefungsian terhad dalam penggunaannya dengan keturunan yang jauh.
Pertimbangkan contoh:
div :not(p) { color: red; }
Semasa pemilih ini berfungsi apabila
ialah anak langsung
adalah keturunan yang lebih jauh. Tingkah laku ini disengajakan, kerana :not() hanya menafikan keturunan langsung unsur sasaran.
Dalam kes di mana
mengandungi, ia ialah
sendiri yang sepadan dengan *:not(p) dan mewarisi gaya. elemen itu sendiri masih dikira terhadap penolakan, mewarisi warna teks daripada induknya.
Untuk mengatasi pengehadan ini, menyasarkan
elemen secara langsung disyorkan:
p { color: black; }Salin selepas log masukPemilih Tahap 4 mencadangkan peningkatan :not() untuk menerima pemilih kompleks penuh yang mengandungi penggabung, membenarkan penyasaran keturunan yang lebih khusus. Walau bagaimanapun, ciri ini masih dalam fasa pelaksanaan.
Atas ialah kandungan terperinci Adakah CSS `:not()` Menyasarkan Keturunan Segera Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!