Ujian :not() Selectors Cross-Browser: Quirks in Safari vs. Chrome/Firefox
Dalam pertanyaan baru-baru ini, pembangun menemui ketidakkonsistenan apabila menggunakan pemilih :not() dalam Safari berbanding Chrome dan Firefox. Menyiasat kes ini, kami mendapati percanggahan dalam cara penyemak imbas ini mengendalikan pemilih berbilang peringkat dalam :not().
Pelaksanaan :not() Safari yang Berkembang
Safari mempunyai baru-baru ini melaksanakan spesifikasi tahap 4 :not(), yang memperkenalkan sokongan untuk pemilih kompleks sebagai hujah. Ini membolehkan sarang pemilih yang lebih canggih, seperti menyasarkan elemen yang bukan keturunan induk tertentu.
Penghadan Chrome/Firefox dengan Pelbagai Tahap :not()
Sebaliknya, Chrome dan Firefox pada masa ini hanya menyokong pemilih peringkat tunggal dalam :not(). Pemilih kompleks, seperti "p div," tidak dikenali oleh penyemak imbas ini. Ini disebabkan oleh perbezaan dalam spesifikasi CSS dan pelaksanaan penyemak imbas.
Laporan Pepijat Potensi
Pemerhatian pembangun terhadap gelagat pemaparan berbeza untuk pelbagai peringkat :not() pemilih dalam Safari boleh dianggap sebagai pepijat yang berpotensi. Ada kemungkinan Chrome dan Firefox perlu dikemas kini untuk mengikuti spesifikasi CSS terkini dan menyokong hujah :not() yang lebih kompleks.
Implikasi untuk Pembangun
Pembangun yang bergantung harap pada pemilih complex :not() untuk aplikasi web atau helaian gaya mereka harus menyedari ketidakkonsistenan merentas penyemak imbas ini. Jika keserasian dengan penyemak imbas lama diperlukan, anda mungkin perlu menggunakan corak pemilih alternatif atau menggunakan polyfill untuk memastikan pemaparan yang konsisten merentas penyemak imbas.
Perubahan yang Dijangkakan
Situasinya adalah berkemungkinan berkembang apabila pelayar menggunakan spesifikasi CSS terkini. Chrome dan Firefox dijangka akhirnya akan melaksanakan kuasa penuh :not() dengan sokongan berbilang peringkat. Ini akan membawa keserasian merentas pelayar ke hadapan dan membolehkan pemilih CSS yang lebih ekspresif dan cekap.
Atas ialah kandungan terperinci Mengapa Safari dan Chrome/Firefox Berbeza dalam Pengendalian Pemilih `:not()` Pelbagai Peringkat Mereka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!