Atribut CSS Tanpa Unit: Saling Balik kepada PX
Dalam CSS, nampaknya mudah untuk menghilangkan unit daripada nilai atribut. Walau bagaimanapun, berbuat demikian boleh membawa kepada senario sandaran yang tidak dijangka. Dalam mod kebiasaan, penyemak imbas mungkin berkelakuan tidak konsisten apabila menemui atribut tanpa unit. Artikel ini mengkaji gelagat sandaran, implikasinya dan ketidakkonsistenan merentas penyemak imbas.
Saling Balik kepada PX
Apabila atribut CSS kekurangan unit, seperti "px", "em", atau "%", penyemak imbas mungkin lalai kepada unit sandaran. Dalam mod kebiasaan, banyak penyemak imbas memilih "px" sebagai unit sandaran. Tingkah laku ini sejajar dengan atribut HTML lama yang menerima panjang piksel sebagai nilai tanpa unit.
Walau bagaimanapun, tingkah laku ini tidak konsisten merentas penyemak imbas. Sesetengah penyemak imbas, seperti Internet Explorer 7 dan ke atas dalam mod standard, mengabaikan atribut peraturan yang kekurangan unit, manakala penyemak imbas lain, seperti Chrome, Firefox dan Safari, terus berundur ke "px."
Spesifikasi W3C
Spesifikasi W3C untuk CSS menyatakan bahawa semua nilai panjang bukan sifar mesti mempunyai unit. Oleh itu, atribut tanpa unit tidak sah. Spesifikasi ini digunakan pada pemaparan mod standard. Dalam mod kebiasaan, penyemak imbas mempunyai lebih kebebasan untuk melaksanakan tingkah laku aneh, yang boleh menerangkan variasi dalam tingkah laku sandar.
Peraturan Sandar Mandatori
Tiada peraturan khusus yang memberi mandat penyemak imbas untuk berundur ke unit pilihan. Keputusan ini diserahkan kepada budi bicara penyemak imbas dan ia boleh berbeza-beza bergantung pada versi penyemak imbas, mod pemaparan dan sifat khusus yang terlibat.
Contoh Gelagat
Internet Explorer berkelakuan berbeza dalam mod quirks dan mod standard. Dalam mod kebiasaan, ia digunakan untuk mengundur lebar dan lebar sempadan kepada "px." Walau bagaimanapun, dalam mod standard, ia mengabaikan peraturan atribut yang kekurangan unit.
Firefox berbeza daripada Internet Explorer dalam mod quirks. Ia kembali lebar kepada "px" tetapi mengabaikan atribut lebar sempadan. Chrome, Opera dan Safari semuanya sandarkan kedua-dua lebar dan lebar sempadan kepada "px" dalam mod kebiasaan.
Kesimpulan
Menggunakan atribut tanpa unit dalam CSS adalah tidak digalakkan. Ia boleh membawa kepada hasil yang tidak dijangka dan ketidakkonsistenan penyemak imbas, terutamanya dalam mod quirks. Mematuhi pengesyoran W3C untuk menentukan unit untuk semua nilai panjang akan memastikan pemaparan yang konsisten merentas penyemak imbas.
Atas ialah kandungan terperinci S: Apa yang Berlaku Apabila Atribut CSS Kurang Unit dalam Pelayar Mod Quirks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!