Enjin Pemilih CSS: Bacaan Kanan-ke-Kiri
Dalam dunia CSS, lazimnya diandaikan bahawa pemilih seperti .name berprestasi lebih pantas daripada div.name. Walau bagaimanapun, beberapa penemuan baru-baru ini mendakwa sebaliknya, mencadangkan bahawa kebanyakan enjin pemilih membaca dari kanan ke kiri. Ini menimbulkan persoalan tentang implikasi prestasi dan alasan di sebalik pendekatan ini.
Penilaian Kanan-ke-Kiri
Walaupun benar bahawa andaian .nama menjadi lebih pantas mungkin cacat, prestasi keseluruhan sangat bergantung pada pelaksanaan penyemak imbas dan struktur dokumen tertentu. Namun begitu, kebanyakan enjin pemilih CSS moden mengikut pendekatan penilaian kanan ke kiri.
Menurut Boris Zbarsky, pembangun Gecko, pelayar biasanya beroperasi dengan memilih elemen dan menilai semua pemilih calon untuk menentukan sama ada ia sepadan , dan bukannya mengenal pasti elemen padanan untuk pemilih tertentu. Pendekatan kanan ke kiri ini memudahkan proses berjalan merentasi penggabung, seperti > atau , dalam pemilih.
Traversal With Simple Selectors
Walau bagaimanapun, adalah penting untuk membezakan bahawa penilaian kanan-ke-kiri tidak sampai ke peringkat pemilih mudah dalam setiap pemilih kompaun. Sebagai contoh, dalam pemilih kompleks div.name[data-foo="bar"]:nth-child(5):hover::after, penyemak imbas mungkin tidak semestinya menyemak keadaan dalam susunan berikut: hover, bilangan anak, data atribut, kelas nama dan jenis.
Sebaliknya, pemilih mudah tertentu, seperti ID, mungkin diutamakan atas sebab prestasi. Ini terbukti dalam pelaksanaan Gecko, di mana peraturan dengan ID disemak terlebih dahulu untuk mengoptimumkan proses pemadanan.
Ringkasan
Arah bacaan enjin pemilih CSS secara amnya betul- ke kiri, tetapi butiran khusus tentang cara ini dilaksanakan boleh berbeza antara penyemak imbas. Tambahan pula, penilaian kanan ke kiri hanya terpakai merentas penggabung dalam pemilih kompaun, bukan hingga ke peringkat pemilih mudah individu.
Atas ialah kandungan terperinci Adakah Enjin Pemilih CSS Mengutamakan Bacaan Kanan-ke-Kiri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!