Rumah >hujung hadapan web >tutorial css >Adakah CSS :not() Menyasarkan Elemen Keturunan Jauh secara Selektif?

Adakah CSS :not() Menyasarkan Elemen Keturunan Jauh secara Selektif?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 18:58:16303semak imbas

Does CSS :not() Selectively Target Distant Descendant Elements?

Bolehkah CSS :not() Menyasarkan Keturunan Jauh?

Css3 :not() pseudo-class bertujuan untuk mengecualikan elemen yang sepadan dengan pemilih yang ditentukan. Ia mempunyai sokongan terhad untuk menyasarkan keturunan jauh.

Pelaksanaan dan Sokongan

Pemilih :not() mempunyai pelaksanaan separa dalam penyemak imbas moden, tetapi sokongannya untuk menyasarkan keturunan jauh adalah terhad. Ia beroperasi terutamanya pada anak langsung sesuatu elemen.

Gelagat dengan Keturunan Jauh

Dalam contoh anda, pemilih :not(p) tidak menjejaskan , walaupun ia adalah keturunan

. Ini kerana :not() hanya menafikan pemilih anak segera. The
elemen sepadan dengan kriteria :not(p) dan warnanya ditetapkan kepada merah. Selepas itu,

elemen mewarisi warna ini daripada induknya

.

Gelagat yang Dijangka lwn. Gelagat Sebenar

Anda menjangkakan

elemen untuk kekal tidak terjejas oleh pemilih :not(), tetapi ia mewarisi perubahan warna. Ini bukan tingkah laku yang dimaksudkan untuk menyasarkan keturunan yang jauh.

Penyelesaian

Untuk menggayakan secara khusus hanya

elemen dalam

, anda harus menggunakan pemilih yang lebih langsung:

div p {
    color: black;
}

Peningkatan dalam Pemilih CSS Tahap 4

Pemilih CSS Tahap 4 mencadangkan pelanjutan : not() untuk menerima pemilih kompleks dengan penggabung. Ini akan membolehkan anda menyasarkan keturunan jauh dengan fleksibiliti yang lebih besar. Setelah dilaksanakan, anda boleh menulis pemilih seperti:

p:not(div p) {
    color: red;
}

Pemilih ini akan menyasarkan semua

unsur yang bukan keturunan langsung

.

Atas ialah kandungan terperinci Adakah CSS :not() Menyasarkan Elemen Keturunan Jauh secara Selektif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn