“像素”对于前端人员和设计师应该再熟悉不过了,但在他们的沟通过程中还是会出现很多关于像素的沟通障碍,其中的原因并不是因为各自观点不一致,而是因为,像素本就分为两种。

AnyForWeb首先为大家分别介绍一下这两种像素的区别。

像素分为设备像素(device pixel)和CSS像素(CSS pixel)。设备像素是我们在设备中使用的像素,是一种物理概念;而CSS像素是CSS样式代码中的逻辑元素,可以划分到web编程的概念中。

简单来说,设备像素就是设计师口中的像素,CSS像素是前端人员所认为的像素。前提条件的不一致才导致了双方沟通不顺畅。

接下来,AnyForWeb告诉你这两者之间如何进行换算。

设备像素和CSS像素之间的关系由每英寸像素(pixel per inch,简称ppi)联系着。ppi是指每英寸所含的像素数量,所以数量越多,显示的图像就越清晰。ppi值需要前端人员自己计算得出,公式表达为PPI=√(X²+Y²)/ Z ,X=长度像素、Y=宽度像素、Z=屏幕尺寸。

ppi的计算是为了得到密度分界,不同的密度所在区间对应着不同的缩放比例(如下图),我们要根据ppi数值来获得最合适的图像缩放比例,也就是设备像素的最佳缩放比例。

ppi主要划分为4个密度区间。120-160被归为低密度手机,160-240为中密度,240-320是高密度,320以上就是超高密度(也就是苹果提出的Retina)。

当我们同时获取了设备像素比和每英寸像素比(ppi)后,便可得出他们之间的比例。当这个比率为1:1时,使用1个设备像素显示1个CSS像素。当这个比率为2:1时,使用4个设备像素显示1个CSS像素,当这个比率为3:1时,使用9(3*3)个设备像素显示1个CSS像素,以此类推。

有了这些像素基本知识作为基础,设计师与前端人员之间的协作会变得更顺畅。通常情况下,设计师提交的设计稿会使用设备像素,后期由前端人员计算设备像素比,并进行后期的换算和编码。

AnyForWeb UDC前端将定期发布Web前端博客,涉及Web前端技术,前端趋势等相关,敬请期待!