iPhone上的CSS像素与设备像素

时间:2012-10-04 21:10:12

标签: iphone css

如果我使用CSS指定<div>标签的宽度为96px,那么在第一代iPhone的屏幕上应该占用多少设备像素?

我在页面中添加了<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>,在模拟器上截取屏幕截图,并将div测量为宽96像素。现在,我读了W3 spec for CSS pixels,它说1px是1/96英寸。所以96个CSS像素应该转换为1英寸。由于原始iPhone有DPI of 163,因此屏幕上的一英寸应占用163个设备像素。为什么我没有得到这个衡量标准?换句话说,96 CSS像素应该等于1英寸?

我看到该规范还提到了锚定到参考像素。在我看来,在这种情况下,参考像素仅仅是设备像素。如果我要向后工作以从屏幕截图中获取CSS像素值,那么假设一个设备像素等于iPhone上的一个CSS像素(非视网膜显示器)通常是正确的吗?

1 个答案:

答案 0 :(得分:3)

Iphone像素与任何其他像素一样。当没有放大时,任何设备的96px宽总是96px宽。请记住,DPI只是告诉您特定设备的px / inch关系,并且永远不会具有“通用”含义。它只是像素与现实世界之间的关系

每个设备的像素大小都会发生变化,因此1英寸不等于96像素。 W3C只是说绝对长度单位相对于彼此是固定的(它只是使CSS单位一致的任意近似值)。这并不意味着可以在固定比例内将真实世界的测量单位与像素进行比较。

我能给你解决难题的最好帮助是1px只等于1px,像素和现实世界单位之间的任何其他比较取决于特定的设备,而不是像W3C这样的通用标准。

  

绝对长度单位相对于彼此固定   固定在一些物理测量上。他们主要是有用的   输出环境是已知的。