我一直试图让媒体查询在具有不同设备像素比率的设备上正常工作。
当我从菜单中选择Nexus S时,它看起来很棒。
当我从菜单中选择Nexus 4时,放置关闭。
从Chrome开发工具我看到,对于Nexus S,计算出的样式是
(-webkit-max-device-pixel-ratio: 1)
对于Nexus 4:
(-webkit-max-device-pixel-ratio: 1.5)
这是我的CSS:
@media only screen and (orientation:landscape) and (-webkit-max-device-pixel-ratio: 1.5 ){
.txt{
top: 170px;
left: 150px;
position:absolute;
font-size:60px;
}
}
@media only screen and (orientation:landscape) and (-webkit-max-device-pixel-ratio: 3 ) and(-webkit-min-device-pixel-ratio: 2 ){
.txt{
top: 270px;
left: 200px;
position:absolute;
font-size:60px;
}
}
这是我的元视口标记:
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1; user-scalable=0;"/>
我使用emulate.phonegap.com(AKA Ripple)进行测试。
答案 0 :(得分:3)
您无法使用-webkit-max-device-pixel-ratio
,因为它尚未支持。
我添加了这个答案,因为它可以帮助其他有相同问题的用户更快地找到解决方案。
答案 1 :(得分:0)
遇到同样的问题并且打了一天以上。最后得到了默认浏览器和Cordova的WebKit使用的媒体查询完全不同的解决方案。
而不是您的主页使用PhoneGap起始页中的http://mqtest.io并检查为该特定webkit生成的媒体查询。在您的应用程序中使用它。能够针对任何屏幕因素。
如果您有任何问题,请尝试告诉我。