对于网络应用,iPhone 4+默认为320px分辨率,我想使用完整的640px

时间:2011-10-23 05:01:08

标签: javascript iphone ios html5

iPhone 4+默认为网络应用的320px分辨率,我想使用完整的640px。

我可以更改此iPhone 4+行为以报告真实分辨率吗?

编辑: 所以我可以使用,

<meta name="viewport" content="width=640" /> 

但是在设置此标签之前我怎么能确定它是iPhone 4+?

1 个答案:

答案 0 :(得分:19)

简短的回答是:您可以检查用户代理并使用JavaScript设置元标记。

答案很长:不要这样做。当我开始为移动设备开发时,我最初对此非常困惑。 iPhone 4(和其他高分辨率设备)实际上显示与其前辈相同的页面宽度。这可能是因为各地的网站看起来都很小,如果不这样做,可能会搞砸。但是有一点不同。高分辨率手机只是以更高的分辨率(但尺寸相同)显示所有内容。

这对于文本和背景颜色等问题无关紧要,但你会发现iPhone上的图像看起来并不那么清晰 - 这是因为它们正在调整大小。我所做的是将图像的分辨率加倍,将它们固定为“非高”尺寸,并使用-webkit-background-size: 100% 100%;。这样老设备就像普通设备一样显示它,高分辨率设备看起来很清晰。需要注意的是,这会使您的图像文件更大。

有关像素不一定是像素的原因的详细信息,请参阅此链接: http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html

此外,如果您希望专门使用CSS定位高分辨率设备。您可以使用媒体查询:

@media screen and (-webkit-device-pixel-ratio: 2) { 
  body{
     background-color: red;
  }
}