Mengapa CSS Tidak Mempunyai Fungsi Pengumpulan Keturunan?

DDD
Lepaskan: 2024-10-31 15:13:01
asal
214 orang telah melayarinya

Why Doesn't CSS Have Descendant Grouping Functionality?

Mengapa Pemilih CSS Kurang Fungsi Pengumpulan Keturunan

Dalam CSS, menetapkan gaya kepada sekumpulan elemen bersarang boleh menyusahkan. Pertimbangkan jadual HTML di mana anda ingin menggayakan semua tajuk lajur dan sel. Anda mesti menggunakan pemilih berikut:

<code class="css">#myTable th, #myTable td {}</code>
Salin selepas log masuk

Nampaknya logik untuk mempunyai sintaks seperti:

<code class="css">#myTable (th, td) {}</code>
Salin selepas log masuk

Konteks Sejarah

Walau bagaimanapun , sintaks sedemikian tidak wujud kerana tiada cadangan untuknya dibuat sehingga 2008, dalam bentuk kelas pseudo :any().

Pelaksanaan Penyemak Imbas Awal

Mozilla mula-mula melaksanakannya sebagai :-moz-any() pada tahun 2010:

<code class="css">#myTable :-moz-any(th, td) {}</code>
Salin selepas log masuk

WebKit mencadangkan pendekatan yang serupa dengan :-webkit-any():

<code class="css">#myTable :-webkit-any(th, td) {}</code>
Salin selepas log masuk

Walau bagaimanapun, menggunakan kedua-dua awalan memerlukan pendua set peraturan, menjadikan kod berlebihan.

Cadangan Moden

Draf Pemilih tahap 4 memperkenalkan :matches():

<code class="css">#myTable :matches(th, td) {}</code>
Salin selepas log masuk

Cadangan ini masih dalam pembangunan, mengehadkan sokongan penyemak imbas.

Penyelesaian untuk Penggayaan Jadual

Untuk jadual, anda boleh menggunakan pemilih universal * untuk menyasarkan kedua-dua dan elemen td:

<code class="css">#myTable tr > * {}</code>
Salin selepas log masuk

Untuk prestasi yang lebih baik, anda masih boleh memilih bentuk yang lebih panjang.

Atas ialah kandungan terperinci Mengapa CSS Tidak Mempunyai Fungsi Pengumpulan Keturunan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan