Тьфу ... Я вообще не доверяю медиазапросам для выполнения этой задачи
Они слишком часто подводили меня.Если вам не повезло, воспользуйтесь JS или серверным решением для обнаружения устройства.Возможно, пойти на это JS:
var pixelRat = window.devicePixelRatio;
var screenWidth = screen.width;
//iPhone Retina Display
if ( pixelRat >= 2 )
{
$('meta[name=viewport]').attr('content','initial-scale=.5, maximum-scale=.5');
$('link[name=mainstyle').attr('href', 'css/iphoneHD.css');
}
//iPhone 3gs, 3g, Edge
else if ( pixelRat < 2 && screenWidth == 320 )
{
$('meta[name=viewport]').attr('content','width=device-width, minimum-scale=1.0, maximum-scale=1.0');
$('link[name=mainstyle]').attr('href', 'css/iphone.css');
}
//iPad 1 and 2
else if ( pixelRat < 2 && screenWidth == 768 )
{
$('meta[name=viewport]').attr('content','width=device-width, minimum-scale=1.0, maximum-scale=1.0');
$('link[name=mainstyle]').attr('href', 'css/mobile.css');
$('link[name=loginpadstyle]').attr('href', 'css/loginpad.css');
}
//Mac OS X, Windows, Etc.
else
{
$('meta[name=viewport]').attr('content','width=device-width, minimum-scale=1.0, maximum-scale=1.0');
$('link[name=mainstyle').attr('href', 'css/style.css');
}