Rumah > hujung hadapan web > tutorial css > Adakah CSS `:not()` Menyasarkan Anak dan Cucu Terpilih Sahaja?

Adakah CSS `:not()` Menyasarkan Anak dan Cucu Terpilih Sahaja?

Susan Sarandon
Lepaskan: 2024-12-14 18:57:23
asal
342 orang telah melayarinya

Does CSS `:not()` Selectively Target Only Immediate Children and Grandchildren?

Adakah Pemilih :not() Melanjutkan kepada Keturunan Jauh?

Dalam CSS3, kelas pseudo :not() menyediakan cara untuk mengecualikan elemen tertentu daripada pemilih. Walau bagaimanapun, tingkah lakunya boleh mengelirukan apabila berurusan dengan keturunan yang jauh.

Pelaksanaan Semasa

Menurut dokumentasi rasmi dan analisis sokongan penyemak imbas, pemilih :not() sahaja terpakai untuk mengarahkan anak atau cucu elemen yang disasarkan.

Pertimbangkan ini contoh:

div *:not(p) { color: red; }
Salin selepas log masuk

Peraturan ini akan menggayakan semua anak langsung atau cucu

yang bukan

elemen.

Walau bagaimanapun, pemilih :not() tidak melebihi anak cucu.

Isunya

Dalam contoh ini, :

<div>
    <ul>
        <li>This is red</li>
    </ul>
    <p>This is NOT</p>
    <blockquote><p>This is red but is not supposed to be!</p></blockquote>
</div>
Salin selepas log masuk

Dalam kes ini,

elemen sepadan dengan keadaan *:not(p) kerana ia adalah keturunan
, manakala

elemen di dalamnya mewarisi warna merah.

Penyelesaian

Tingkah laku yang betul adalah untuk

elemen kekal sebagai warna lalainya. Untuk mencapai matlamat ini, peraturan harus menyasarkan semua

elemen secara langsung:

div p { color: black; }
Salin selepas log masuk

Peningkatan Masa Depan dalam Pemilih CSS Tahap 4

Cadangan Pemilih CSS Tahap 4 meningkatkan pemilih :not() untuk menerima pemilih kompleks penuh dengan penggabung. Ini bermakna bahawa kami akan dapat menulis pemilih seperti:

p:not(div p) { color: red; }
Salin selepas log masuk

Sntaks lanjutan ini akan membolehkan penyasaran yang lebih tepat bagi keturunan jauh.

Atas ialah kandungan terperinci Adakah CSS `:not()` Menyasarkan Anak dan Cucu Terpilih Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan