物理像素,逻辑像素,CSS像素傻傻分不清楚...

187 阅读1分钟

今天在解决一个移动端适配的问题,看了几篇文章,介绍常用的移动端适配方法,里面涉及到物理像素,逻辑像素,CSS像素,手机英寸,DPR等等概念,看得我云里雾里。深入研究了下后,总归理解了,下面是我的总结。

物理像素:就是指手机上的实际像素点,不同的手机,像素的大小不一样。打个比方,一个是10cm宽的手机,在这横着的10cm上,有1000个像素点像素点。那么每个像素是 10/1000 = 0.01cm宽。

逻辑像素:由于不同手机上,单个像素的大小不一样,有的是0.01cm,有的是0.02cm(仅仅是打个比方啊),如果我代码里写一个10px,表示10像素宽,那在不同的手机上,它表示出来的宽度就不一样。有的是0.1cm,有的是0.2cm,这就很难适配,逻辑像素就是定义出来,来解决这个问题的,逻辑像素的特点就是,只要是逻辑像素一样,比如都是10逻辑像素,那么在不同的手机上的长度就是一样的,比如是 0.1cm。

CSS像素:我们平时代码里写的像素,就是CSS像素。CSS像素和逻辑像素的换算关系,只和缩放比例有关系,在缩放比例是1的情况下,1CSS像素 = 1逻辑像素。也就是说,CSS像素和逻辑像素有一样的特点,只要值一样,那么在不同手机上,表示出来的宽度就一样。比如 width:10px,在iphone6,7,8或者其他任何设备上,都有同样的宽度0.1cm(仅仅是举例啊)。