Pemilih CSS Tanpa Penafian
Dalam CSS, memilih elemen yang tidak sepadan dengan kriteria tertentu boleh mencabar kerana kekurangan " bukan" pemilih. Had ini telah diiktiraf oleh pembangun web selama bertahun-tahun, meninggalkan mereka untuk mencari penyelesaian alternatif.
Pertimbangkan peraturan CSS berikut:
.classname input { background: red; }
Peraturan ini memberikan latar belakang merah kepada semua medan input dalam Unsur HTML dengan nama kelas "nama kelas." Walau bagaimanapun, katakan anda ingin mengecualikan medan input dalam elemen "nama kelas" daripada gaya latar belakang merah. Bagaimanakah ini boleh dicapai?
Sokongan Penyemak Imbas Semasa
Malangnya, penyemak imbas web semasa tidak menyokong pemilih negatif dalam CSS. Contoh yang diberikan tidak boleh dicapai menggunakan CSS sahaja.
Penyelesaian Alternatif
Walaupun CSS tidak mempunyai pemilih negatif, penyelesaian alternatif wujud:
<code class="js">$j(':not(.classname)>input').css({background:'red'});</code>
input { background: #ccc; } .classname input { background: red; }
Dalam contoh ini, semua medan input mempunyai latar belakang kelabu secara lalai. Dalam elemen dengan nama kelas "nama kelas", medan input mengatasi gaya ini dengan latar belakang merah. Ambil perhatian bahawa pendekatan ini mempengaruhi gaya semua medan input dalam elemen "nama kelas", tanpa mengira lokasinya.
Adalah penting untuk ambil perhatian bahawa walaupun sokongan penyemak imbas untuk pemilih negatif CSS telah dibahaskan selama bertahun-tahun, masih terdapat tiada pelaksanaan rasmi setakat penulisan ini. Memandangkan teknologi penyemak imbas terus berkembang, fungsi ini mungkin tersedia pada masa hadapan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyasarkan Elemen Input Yang Tidak Dalam Kelas Tertentu dalam CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!