Весь код отлично работает в IE9+.
Это работает в IE8, используя response.js:
@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
// Code
}
Это не означает:
@media (-webkit-min-device-pixel-ratio: 2) and (min-width: 700px),
(min-resolution: 192dpi) and (min-width: 700px){
// Code
}
Кто-нибудь знает другой способ передать медиа-запрос в IE8?
Ну, может быть, я все понял неправильно, но вы указываете -webkit-stuff И другие запросы ширины.
Я не верю, т.е. Будет непонятным -webkit-, но может ошибочно понимать минимальное разрешение.
@media (-webkit-min-device-pixel-ratio: 2) and (min-width: 700px),
(min-resolution: 192dpi) and (min-width: 700px){
// Code
}
По ошибке, я имею в виду, все, что я нашел, не понятно, и поскольку вы используете response.js, это может быть принудительно. Я нашел что-то на response.js guihub как дублирование этой другой проблемы
Чтобы настроить IE8 только через мультимедийный запрос:
@media \0screen {
.your-css { background: blue; }
}
Чтобы исключить IE8, используйте комментарий условия:
<!--[if !IE 8]>
@media queries for all browsers except IE 8
<![endif]-->
(min-width)
а не (min-device-ratio)
. Следовательно, он отображает контент, который не должен. Вы знаете способ просто исключить IE из запроса?
Проблема возникает, потому что, как предполагает Млечный, IE8 не распознает -webkit-
.
Однако вместо того, чтобы полностью игнорировать запрос, он все еще считывает и применяет запрос min-width
, тем самым применяя код, предназначенный для дисплеев с более высоким разрешением.
Исправление состоит в том, чтобы исключить запрос min-resolution
из IE8.
http://browserhacks.com/ предоставляет отличный репо для этого. Код, который я использовал, был:
@media (-webkit-min-device-pixel-ratio: 2) and (min-width: @screen-md-min),
(min-resolution: 192dpi) and (min-width: @screen-md-min){
:root * > .selector {
// code
}
}