使用css像素计算屏幕大小,哪里出错?

时间:2015-06-04 06:18:00

标签: css web retina-display w3c

在css w3(here)中,

1px = 0.75pt, 1pt = 2.54/72 cm,所以1 css像素:1px = 0.26mm

例如,iPhone4的 CSS像素为320px * 480px(非设备像素),
所以在宽度上,长度应为:

320 *0.26 = 83.2mm

但iPhone4为3.5"因此宽度的长度约为60mm

它与上面计算的结果不匹配
哪里错了?
感谢

2 个答案:

答案 0 :(得分:1)

物理单位基于96dpi,因此css中的1in为96px,因此3.5in = 336px。这是一篇博客文章,可以解释这一点:http://www.quirksmode.org/blog/archives/2012/11/the_css_physica.html但是如果你向下滚动一下,你在W3规范中也会提到它。

  

参考像素是设备上一个像素的视角,像素密度为96dpi,距离读取器的臂长度。

答案 1 :(得分:0)

CSS像素并不总是0.26mm

来自CSS W3:

  

参考像素是设备上一个像素的视角,像素密度为96dpi,距离读取器的臂长度。对于标称臂长28英寸,视角因此约为0.0213度。对于手臂长度的读数,1px因此对应于约0.26mm(1/96英寸)。

iPhone4不是96dpi。设备像素比为2时,其“CSS dpi”约为163.由于96dpi设备渲染320px为83.2mm,数学上,163dpi设备应渲染320px,49mm。