Rumah >hujung hadapan web >tutorial css >Mengapa Peraturan CSS Digugurkan Kerana Pemilih Tidak Sah?

Mengapa Peraturan CSS Digugurkan Kerana Pemilih Tidak Sah?

DDD
DDDasal
2024-11-18 03:05:02234semak imbas

Why Are CSS Rules Dropped Due to Invalid Selectors?

Pemilih CSS Tidak Sah Menyebabkan Peraturan Digugurkan: Rasional

Latar Belakang

Dalam Pemilih CSS Tahap 3, ralat penghuraian membawa kepada pembuangan peraturan yang mengandungi pemilih tidak sah. Tingkah laku ini telah dilaksanakan secara konsisten oleh penyemak imbas selama bertahun-tahun, memastikan pengendalian ralat yang boleh diramal.

Rasional

Rasional untuk membuang keseluruhan peraturan adalah berbilang muka:

  1. Kekaburan dalam Penghuraian Pemilih: Koma dan tanda baca lain boleh mencipta kekaburan penghuraian. Penghurai naif mungkin bergelut untuk menentukan skop kumpulan pemilih atau blok pengisytiharan tanpa menimbulkan ralat.
  2. Ketekalan dalam Pengendalian Ralat: Merawat semua ralat penghuraian secara seragam memudahkan pelaksanaan dan mengelakkan potensi tingkah laku yang tidak konsisten merentas penyemak imbas.
  3. Keserasian Ke Hadapan: Mengakui potensi masa depan untuk sintaks pemilih baharu menghalang pengenalan peraturan pengendalian ralat yang lebih kompleks dan samar-samar.

Contoh

Untuk menggambarkan isu ini, berikut ialah contoh peraturan:

#menu li.last, #menu li:last-child {
  ...
}

Dalam penyemak imbas seperti IE8 yang kekurangan sokongan :anak terakhir, keseluruhan peraturan dibuang kerana pemilih tidak sah walaupun kesahihannya daripada pemilih pertama.

Pendekatan Alternatif

Menggugurkan pemilih yang tidak dikenali tanpa membuang peraturan telah dipertimbangkan. Walau bagaimanapun, ia memperkenalkan potensi risiko:

  1. Gelagat Pemilih Tidak Dijangka: Pemilih yang dihuraikan boleh digunakan secara tidak betul, yang membawa kepada reka letak atau penggayaan yang tidak dijangka.
  2. Pelaksanaan Kerumitan: Menentukan tempat untuk memisahkan pemilih tidak sah daripada pemilih yang sah boleh mencabar dan tertakluk kepada ralat.

Pengecualian

Sesetengah enjin reka letak mungkin menunjukkan gelagat yang berbeza. WebKit mengabaikan pemilih awalan, manakala yang lain mengabaikan keseluruhan peraturan. Penyimpangan ini menekankan potensi ketidakkonsistenan merentas penyemak imbas jika peraturan pengendalian ralat disemak.

Atas ialah kandungan terperinci Mengapa Peraturan CSS Digugurkan Kerana Pemilih Tidak Sah?. 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