如何覆盖设备像素比率

时间:2014-06-13 16:06:22

标签: css google-chrome responsive-design resolution pixel-ratio

我制作了一个响应式网站,可以正常使用不同的屏幕分辨率。我使用三种不同的媒体查询 - 从0到640,从640到960及以上。无论如何,如果我尝试打开使用720x1280的三星Galaxy Note2,因为它的像素比率为2,它将网站读作360x640设备,但具有640-960样式。

如何确定网站将以原始分辨率显示?

我将其包含在标题中:

<meta name="viewport" content="width=720, initial-scale=1, maximum-scale=1, user-scalable=no" />

如果我在样式表文件中添加这样的内容

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 
@viewport {
     max-zoom:50%;
     width:720px;
}
}

它可以在Chrome的仿真模式下正常运行,但如果我在真实手机上进行测试则不行。

编辑: Woo-hoo ......我找到了一种方法来使用JavaScript。

document.querySelector("meta[name=viewport]").setAttribute('content', 'width=device-width, initial-scale='+(1/window.devicePixelRatio)+', maximum-scale=1.0, user-scalable=0');

它读取设备像素比率,然后设置initial-scale值。

1 个答案:

答案 0 :(得分:0)

我没有对此进行过测试,但请尝试更改:

<meta name="viewport" content="width=720, initial-scale=1, maximum-scale=1, user-scalable=no" />

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />

将宽度设置为720可以解释为什么要应用640-960样式。