Apakah IE8 tidak mendukung permintaan media CSS berikut:
@import url("desktop.css") screen and (min-width: 768px);
Jika tidak, apa cara penulisan alternatif? Hal yang sama berfungsi dengan baik di Firefox.
Adakah masalah dengan kode di bawah ini?
@import url("desktop.css") screen;
@import url("ipad.css") only screen and (device-width:768px);
Jawaban:
Versi Internet Explorer sebelum IE9 tidak mendukung permintaan media .
Jika Anda mencari cara merendahkan desain untuk pengguna IE8, Anda mungkin menemukan komentar bersyarat IE sangat membantu. Dengan menggunakan ini, Anda dapat menentukan style sheet khusus IE 8/7/6 yang menuliskan aturan sebelumnya.
Sebagai contoh:
Ini tidak akan memungkinkan untuk desain responsif di IE8, tetapi bisa menjadi solusi yang lebih sederhana dan lebih mudah diakses daripada menggunakan plugin JS.
sumber
css3-mediaqueries-js mungkin adalah yang Anda cari: skrip ini mengemulasi kueri media. Namun (dari situs skrip) "tidak berfungsi di
@import
ed stylesheet (yang seharusnya tidak Anda gunakan karena alasan kinerja). Juga tidak akan mendengarkan atribut media dari elemen<link>
dan<style>
".Dalam nada yang sama Anda memiliki Respond.js yang lebih sederhana , yang hanya memungkinkan
min-width
danmax-width
kueri media.sumber
Solusi terbaik yang saya temukan adalah Respond.js terutama jika perhatian utama Anda adalah memastikan desain responsif Anda bekerja di IE8. Ini cukup ringan pada 1kb ketika min / gzip dan Anda dapat memastikan hanya klien IE8 yang memuatnya:
Ini juga metode yang disarankan jika Anda menggunakan bootstrap: http://getbootstrap.com/getting-started/#support-ie8-ie9
sumber
IE8 (dan versi yang lebih rendah) dan Firefox sebelum 3.5 tidak mendukung permintaan media. Safari 3.2 mendukung sebagiannya.
Ada beberapa solusi yang menggunakan JavaScript untuk menambahkan dukungan permintaan media ke browser ini. Coba ini:
Plugin Media Queries jQuery (hanya berurusan dengan lebar maks / min)
css3-mediaqueries-js - perpustakaan yang bertujuan untuk menambahkan dukungan permintaan media ke browser yang tidak mendukung
sumber
Diambil dari halaman proyek css3mediaqueries.js.
Catatan: Tidak berfungsi pada stylesheet @ import'ed (yang seharusnya tidak Anda gunakan karena alasan kinerja). Juga tidak akan mendengarkan atribut media
<link>
dan<style>
elemen.sumber
Cara mudah untuk menggunakan css3-mediaqueries-js adalah dengan memasukkan yang berikut sebelum tag body penutup:
sumber
Jawaban yang diedit: IE memahami hanya layar dan cetak sebagai media impor. Semua CSS lain yang disertakan bersama dengan pernyataan impor menyebabkan IE8 mengabaikan pernyataan impor. Peramban GECa seperti safari atau mozilla tidak memiliki masalah ini.
sumber
Kueri media sama sekali tidak didukung di IE8 dan di bawah ini.
Solusi berbasis Javascript
Untuk menambahkan dukungan untuk IE8, Anda dapat menggunakan salah satu dari beberapa solusi JS. Misalnya, Tanggapi dapat ditambahkan untuk menambahkan dukungan permintaan media hanya untuk IE8 dengan kode berikut:
CSS Mediaqueries adalah pustaka lain yang melakukan hal yang sama. Kode untuk menambahkan pustaka itu ke HTML Anda akan sama:
Alternatifnya
Jika Anda tidak menyukai solusi berbasis JS, Anda juga harus mempertimbangkan untuk menambahkan stylesheet IE <9 only di mana Anda menyesuaikan styling khusus untuk IE <9. Untuk itu, Anda harus menambahkan HTML berikut ke kode Anda:
Catatan :
Secara teknis, ini satu alternatif lagi: menggunakan peretasan CSS untuk menargetkan IE <9. Ini memiliki dampak yang sama dengan stylesheet IE <9 saja, tetapi Anda tidak perlu stylesheet terpisah untuk itu. Saya tidak merekomendasikan opsi ini, karena mereka menghasilkan kode CSS yang tidak valid (yang merupakan salah satu dari beberapa alasan mengapa penggunaan peretasan CSS umumnya disukai hari ini).
sumber
Sebelum Internet Explorer 8 tidak ada dukungan untuk pertanyaan Media. Tetapi tergantung pada kasus Anda, Anda dapat mencoba menggunakan komentar bersyarat untuk hanya menargetkan Internet Explorer 8 dan lebih rendah. Anda hanya perlu menggunakan arsitektur file CSS yang tepat.
sumber
http://blog.keithclark.co.uk/wp-content/uploads/2012/11/ie-media-block-tests.php
Saya menggunakan
@media \0screen {}
dan berfungsi dengan baik untuk saya di NYATA NYATA.sumber
IE tidak menambahkan dukungan permintaan media hingga IE9. Jadi dengan IE8 Anda kurang beruntung.
sumber