陈斌彬的技术博客

Stay foolish,stay hungry

iOS 设备像素

设备像素(device pixel):

设备像素设是物理概念,指的是设备中使用的物理像素。 比如iPhone 5的分辨率640 x 1136px。

CSS像素(css pixel):

CSS像素是Web编程的概念,指的是CSS样式代码中使用的逻辑像素。 在CSS规范中,长度单位可以分为两类,绝对(absolute)单位以及相对(relative)单位。px是一个相对单位,相对的是设备像素(device pixel)。

比如iPhone 5使用的是Retina视网膜屏幕,使用2px x 2px的 device pixel 代表 1px x 1px 的 css pixel,所以设备像素数为640 x 1136px,而CSS逻辑像素数为320 x 568px。

img

每英寸像素(pixel per inch): ppi,表示每英寸所拥有的像素(pixel)数目,数值越高,代表显示屏能够以越高的密度显示图像。ppi的计算方式可以参考维基百科每英寸像素

设备像素比(device pixel ratio): 以上计算出ppi是为了得到密度分界,获得默认缩放比例,即设备像素比。

img

由上图可知,ppi 在 120-160 之间的手机被归为低密度手机,160-240 被归为中密度,240-320 被归为高密度,320 以上被归为超高密度(Apple给了它一个高大上的名字——Retina)。

获得设备像素比后,便可得知设备像素与 CSS 像素之间的比例。当这个比率为 1:1 时,使用1个设备像素显示1个CSS像素。当这个比率为2:1时,使用4个设备像素显示1个 CSS 像素,当这个比率为3:1时,使用9(3*3)个设备像素显示1个 CSS 像素。

想要了解主流移动设备的设备像素比(device pixel ratio)可以参考以下两个网站:

http://screensiz.es/

http://www.devicepixelratio.com/