Disiarkan semula daripada Blue Ideal
Pengarang bias
Alamat asal http://www.blueidea.com/tech/site/2006/3296.asp
Saya menjumpai beberapa versi berbeza yang boleh dijalankan secara bebas IE pelayar , hanya gunakannya untuk menguji isu keserasian halaman. Anda tidak akan tahu sehingga anda mencubanya Halaman yang berfungsi dengan baik dalam IE6 dan FF akan menjadi kucar-kacir dalam IE5 dan IE5.5 Saya selalu mendengar bahawa IE5 adalah "paku" dalam penciptaan standard WEB, dan sekarang saya kena percaya.
Memandangkan ada masalah, mari kita cari penyelesaian Selepas mencari di Internet, saya rasa kaedah yang paling langsung adalah "komen bersyarat" yang boleh digunakan dengan mudah Versi gaya penulisan IE yang berbeza. Tetapi ini memerlukan penulisan gaya untuk setiap versi, yang tidak kondusif untuk pengoptimuman fail.
Selepas mencari beberapa CSS HACK yang berkaitan, saya merasakan bahawa IE5/IE5.5/IE6/FF HACK harus ditulis bersama-sama Selepas ujian, saya akhirnya menemui kaedah yang baik laksanakannya:
Semua orang tahu bahawa menggunakan pernyataan !important boleh meningkatkan keutamaan aplikasi peraturan gaya yang ditentukan, seperti contoh berikut:
----------------- - ---------------------------------
Salin kod Kodnya adalah seperti berikut:
E1{ background-color: red !important;/*提升优先权*/ background-color: blue; }
------------------------------ ---- ---------------
Tetapi akan ada masalah apabila menulis seperti ini dalam IE Baca "Tentang CSS Style Sheet Priority" dan "About Helaian Gaya CSS" "Tambahan Keutamaan", anda akan tahu bahawa menggunakan perisytiharan !penting dalam IE6 dan FF boleh meningkatkan tahap keutamaan, tetapi perisytiharan !penting dalam IE6 bukanlah mutlak, ia akan digantikan dengan takrifan atribut seterusnya yang sama nama. Maksudnya, dalam contoh di atas, IE6 menggunakan nilai warna latar belakang terakhir, iaitu "biru" manakala dalam FF, nilai warna latar belakang ialah "merah". Berdasarkan ini, kita boleh memisahkan gaya FF dan IE.
OK, masalah FF dan IE telah selesai, sekarang mari kita selesaikan masalah IE itu sendiri.
Selepas membaca Dudu "Cara lain untuk memintas IE6 untuk menyokong IE5 - IE juga menyokong ">"", saya mendapat idea ini Adakah benar-benar mungkin untuk IE mengenalinya dengan menggunakan ">"? Mari lihat contoh:
----------------------------------------------------- ------- --------
E1{ background-color: red; >background-color: blue;
}
-------------------- ------- -----------------------
Warna latar belakang yang diperolehi dalam FF adalah merah, manakala warna latar belakang diperolehi dalam IE ialah biru , mengikut peraturan takrifan semula gaya, jika penyemak imbas boleh mengenali ">", ia harus mendapat latar belakang biru, jadi boleh diketahui bahawa ">" hanya boleh dikenali oleh IE penting! Semua orang akan tahu nanti. (Nota: Saya telah menguji beberapa simbol lain, seperti "~", "`", "
--------------------- ------ ----------------------------
Bukankah ini menjimatkan beberapa bait? , tetapi HACK bukan standard Jika anda menyalahgunakan HACK, ia hanya akan semakin jauh daripada standard
Perkara di atas adalah untuk menyelesaikan keserasian IE5/! Soalan IE5.5/IE6/FF - CSS_Experience bertukar kandungan, sila perhatikan laman web PHP Cina (m.sbmmt.com) untuk lebih banyak kandungan yang berkaitan!