Saya kesulitan mendapatkannya
<!--[if !IE]>
bekerja. Saya bertanya-tanya apakah itu karena saya memiliki ini di dokumen saya
<!doctype html>
<!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
<!--[if IE 7]> <html class="ie7 oldie"> <![endif]-->
<!--[if IE 8]> <html class="ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="">
<!--<![endif]-->
Ketika saya menambahkan
<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" />
<!--<![endif]-->
ke tajuk saya karena alasan tertentu tidak berfungsi. Namun jika saya tambahkan
<!--[if !IE]><!-->
<style>
All my css in here
</style>
<!--<![endif]-->
ke halaman html yang sebenarnya (di header) itu berfungsi. Ada saran? Bersulang
Perbarui pertanyaan saya
Ok, ketika saya menghapus
<!-->
saya hanya memeriksa di IE yang berfungsi tetapi sekarang kembali di FF no-ie.css telah diterapkan pada FF juga. Jadi saya menambahkan kembali ke dalam <!-->
dan menghapus / (dan menambahkan itu ke dalam templat utama sehingga cms tidak akan menambahkannya kembali) dan semua bekerja kembali di FF tapi sekarang stylesheet sedang diterapkan ke IE! Jadi saya mencoba
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="https://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->
dan
<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css">
<!-- <![endif]-->
Dan itu tidak berhasil. Pada dasarnya saya mencoba membuat halaman ini berfungsi http://css-tricks.com/examples/ResponsiveTables/responsive.php tetapi pindahkan css ke dalam stylesheet. Tentunya itu harus sederhana. Apa yang saya lewatkan? Saya lebih suka tidak menggunakan JQuery jika saya tidak perlu. Bersulang
sumber
<!-->
segera setelah<!--[if !IE]>
Jawaban:
Catatan: Komentar bersyarat ini tidak lagi didukung dari IE 10 dan seterusnya .
sumber
Browser selain IE memperlakukan pernyataan bersyarat sebagai komentar karena mereka terlampir di dalam tag komentar.
Namun, ketika Anda menargetkan browser yang BUKAN IE Anda harus menggunakan 2 komentar, satu sebelum dan satu setelah kode. IE akan mengabaikan kode di antara mereka, sedangkan browser lain akan memperlakukannya sebagai kode normal. Sintaks untuk menargetkan browser non-IE adalah:
Catatan: Komentar bersyarat ini tidak lagi didukung dari IE 10 dan seterusnya .
sumber
<!--[if !IE]-->IE ignores this<!--[endif]-->
ini tidak tersembunyi dari IE! (7, 8, atau 9)Pembaruan jika seseorang masih membuka halaman ini, bertanya-tanya mengapa penargetan yaitu tidak berfungsi. IE 10 dan seterusnya tidak lagi mendukung komentar bersyarat. Dari situs web resmi MS:
Silakan lihat di sini untuk detail lebih lanjut: http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
Jika Anda benar-benar perlu menargetkan ie, Anda dapat menggunakan kode jquery ini untuk menambahkan kelas ie ke dan kemudian menggunakan kelas .ie di css Anda untuk menargetkan browser yaitu.
Pembaruan: $ .browser tidak tersedia setelah jQuery 1.9. Jika Anda memutakhirkan ke jQuery di atas 1.9 atau sudah menggunakannya, Anda dapat menyertakan skrip migrasi jQuery setelah jQuery sehingga menambahkan bagian yang hilang: jQuery Migrate Plugin
Atau, silakan periksa utas ini untuk kemungkinan penyelesaian: kesalahan browser.msie setelah pembaruan ke jQuery 1.9.1
sumber
Saya menggunakan itu dan berfungsi:
sumber
Sintaks yang direkomendasikan oleh Microsoft untuk "komentar" bersyarat tingkat bawah adalah ini:
Ini bukan komentar, tetapi mereka berfungsi dengan baik.
sumber
Pertama-tama sintaks yang benar adalah:
Coba posting ini: http://www.quirksmode.org/css/condcom.html dan http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Hal lain yang dapat Anda lakukan:
Periksa browser dengan jQuery:
dalam hal ini Anda dapat mengubah aturan css untuk beberapa elemen atau menambahkan referensi tautan css baru:
baca ini: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx
sumber
Anda perlu memberi ruang untuk
<!-- [if !IE] -->
blok Full css saya sebagai berikut, karena IE8 buruk dengan kueri mediasumber
!IE
Teknik yang disebutkan di sini sebenarnya akan menjalankan blok komentar untuk IE 7 sampai 10.Untuk menargetkan Pengguna IE:
Untuk menargetkan semua orang lain:
Komentar Bersyarat hanya dapat dideteksi oleh Internet Explorer, semua Peramban lain memasangnya sebagai Komentar normal.
Untuk menargetkan IE 6,7 dll. Anda harus menggunakan "Greater Than Equal" atau "Lesser Than (Equal)" dalam Pernyataan If. Seperti ini.
Lebih besar dari atau sama dengan:
Kurang dari:
Sumber: mediacollege.com
sumber
Ini untuk sampai IE9
Ini untuk setelah IE9
sumber
Untuk browser IE:
Untuk semua browser non-IE:
Untuk semua IE lebih dari 8 ATAU semua browser non-IE:
sumber
Komentar bersyarat adalah komentar yang dimulai dengan
<!--[if IE]>
yang tidak dapat dibaca oleh browser apa pun kecuali IE.dari 2011 Komentar bersyarat tidak didukung mulai bentuk IE 10 seperti yang diumumkan oleh Microsoft pada waktu itu https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx
Satu-satunya pilihan untuk menggunakan komentar Bersyarat adalah meminta IE untuk menjalankan situs Anda sebagai IE 9 yang mendukung komentar Bersyarat.
Anda dapat menulis file css dan / atau js Anda sendiri untuk contohnya saja dan browser lain tidak akan memuat atau menjalankannya.
cuplikan kode ini menunjukkan cara membuat IE 10 atau 11 berjalan ie-only.css dan ie-only.js yang berisi kode khusus untuk menyelesaikan masalah kompatibilitas IE.
sumber
Jika Anda bekerja dengan IE 10 atau lebih, seperti yang disebutkan dalam http://tanalin.com/en/articles/ie-version-js/ komentar bersyarat tidak lagi didukung. Anda dapat merujuk ke https://gist.github.com/jasongaylord/5733469 sebagai metode alternatif, yang versi Tridentnya juga diperiksa dari navigator.userAgent. Ini juga diverifikasi jika browser bekerja dalam mode kompatibilitas.
sumber
Ini berfungsi untuk saya di semua browser yang lebih besar dari versi 6 (IE7, 8, 9, 10, dll, Chrome 3 hingga seperti sekarang, dan FF ver 3 hingga seperti sekarang):
sumber
Saya menggunakan javascript ini untuk mendeteksi browser IE
sumber
Terima kasih Fernando68, saya menggunakan ini:
sumber
Saya mendapatkan kode ini berfungsi di browser saya:
Catatan untuk kode ini: HTML5 Shiv dan Respond.js dukungan IE8 untuk elemen HTML5 dan permintaan media
sumber