Saya baru-baru ini membuat laman web Web Saya selalu fikir bootstrap sangat bagus Kali ini saya menggunakan bootstrap3 Tiada masalah dalam chrome, firefox, safari, opera, pelayar 360 (mod kelajuan), pelayar Sogou dan pelayar lain. Walau bagaimanapun, saya mendapati bahawa gaya tidak boleh dipaparkan di bawah IE8 dan IE11, dan kemudian mencari pelbagai Baidu, dan akhirnya menyelesaikan masalah dengan bantuan siaran netizen. Penyelesaian diringkaskan seperti berikut:
Mula-mula anda perlu memastikan terdapat pengisytiharan DOCTYPE pada permulaan halaman HTML anda. DOCTYPE memberitahu penyemak imbas tentang spesifikasi HTML atau XHTML yang hendak digunakan untuk menghuraikan dokumen HTML, khususnya yang mempengaruhi:
Peraturan kekangan untuk menanda atribut dan sifat
Ia memberi kesan pada mod pemaparan penyemak imbas Mod pemaparan yang berbeza akan menjejaskan penghuraian kod CSS dan juga skrip JavaScript pelayar
DOCTYPE sangat kritikal Amalan terbaik semasa ialah menaip baris pertama dokumen HTML:
<!DOCTYPE html>
Siaran tuan meringkaskan beberapa sebab untuk mencari bootstrap Pertama sekali, Bootstrap3 dibangunkan dengan prinsip peranti mudah alih dahulu, jadi sebabnya mungkin seperti berikut:
1. Alamat jauh tidak dipanggil dengan betul
Iaitu, selagi IE9 atau ke bawah, dua js istimewa dipanggil
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script> <script src="http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]-->
Tetapi saya telah menguji dan mendapati bahawa hanya menggunakan fail js di atas tidak boleh dilaksanakan,
2. Kaedah panggilan tidak betul
Jangan gunakan fail:// atau borang @import untuk merujuk fail respond.min.js atau respond.js atau css
3 Tandakan kandungan penyemak imbas (gunakan tag meta untuk melaraskan kaedah pemaparan penyemak imbas)
bootstrap tidak menyokong mod keserasian IE Untuk membolehkan pelayar IE menjalankan mod pemaparan terkini, teg berikut akan ditambahkan pada halaman
.
IE=edge bermaksud kernel terkini IE terpaksa digunakan chrome=1 bermakna jika pemalam pelayar Google Chrome Frame untuk IE6/7/8 dan versi lain dipasang (ia boleh menjadikan penyemak imbas pengguna masih mempunyai. menu dan antara muka IE, tetapi pengguna Apabila menyemak imbas web, kernel penyemak imbas Chrome sebenarnya digunakan), maka kernel Chrome digunakan untuk pemaparan. Untuk penjelasan terperinci tentang teg meta ini, sila rujuk kepada jawapan yang sangat baik pada StackOverflow Untuk penjelasan pakar tentang teg
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e
Saya menambah ayat
Maka itu sahaja
Kernel mengawal teg Meta Oleh kerana penyemak imbas arus perdana domestik semasa adalah dwi-teras, teg meta ditambahkan untuk memberitahu pelayar yang kernel untuk digunakan untuk memaparkan halaman
4.IE8 tidak menyokong beberapa sifat bekas
5 Masalah yang disebabkan oleh susunan JS dan CSS diperkenalkan
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" media="screen"/> <script type="text/javascript" src="js/respond.min.js"></script>
6 Terdapat baris kosong sebelum dan selepas DOCTYPE
Ia tidak berfungsi jika terdapat ruang di sini, anda perlu mengalih keluarnya
7 Anda juga boleh mengubah suai bootstrap.css secara manual
Jika anda menggunakan bootstrap2.1.1, mengubah suai navbar-inner{ filter:none} boleh menyelesaikan masalah Jika anda menggunakan versi 3.0, kod ini tidak lagi tersedia untuk butiran, sila lihat pautan
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8
8. Gunakan mod quirks (mod keserasian)
Berikut ialah cara menyelesaikan masalah pemegang tempat sokongan IE
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
Alamat muat turun fail jquery.placeholder.js
https://github.com/mathiasbynens/jquery-placeholder
Kemudian tambahkan kod pada fail
IE6, 7, 8, 9, 10, 11, chrome, firefox, safari, opera, 360 di atas (mod kelajuan), ujian penyemak imbas Sogou lulus, hanya IE5.5 nampaknya tidak boleh dilaksanakan, ringkasnya masalah diselesaikan Pada ketika ini, IE6 yang jahat - panggil saja kicap