我对devicePixelRatio
和dppx
进行了一些研究:
deicePixelRatio
:返回当前显示设备上一个物理像素的(垂直)大小与一个CSS像素大小的比率。
dppx
:每个'px'单位的点数。
我认为他们是同一回事,但我不确定,我是对的吗?
答案 0 :(得分:7)
在Web开发领域,设备像素比(也称为CSS Pixel Ratio,也称为dppx)决定了CSS如何解释设备的屏幕分辨率。
CSS通过以下公式解释设备的分辨率:device_resolution / css_pixel_ratio。例如:
三星Galaxy S III
实际分辨率:720 x 1280 CSS像素比率:2 解释分辨率:(720/2)x(1280/2)= 360 x 640
在查看网页时,CSS会认为该设备具有360x640分辨率屏幕,而媒体查询将响应,就像屏幕是360x640一样。但屏幕上渲染的元素将是实际360x640屏幕的两倍。
其他一些例子:
三星Galaxy S4
实际分辨率:1080 x 1920 CSS像素比率:3 解释分辨率:(1080/3)x(1920/3)= 360 x 640
iPhone 5s
实际分辨率:640 x 1136 CSS像素比率:2 解释性决议:(640/2)x(1136/2)= 320 x 568
创建CSS像素比率的原因是因为随着手机屏幕获得更高的分辨率,如果每个设备仍然具有1的CSS像素比率,那么网页将变得太小而无法看到。典型的全屏桌面显示器是一台24英寸显示器,速度为1920x1080。想象一下,如果该显示器缩小到<5英寸但具有相同的分辨率。在屏幕上查看内容是不可能的,因为它们会非常小。
这是一个工具,它还可以告诉您当前设备的像素密度:
http://bjango.com/articles/min-device-pixel-ratio/
这是一个可搜索的设备像素比率列表(如果您要将设备添加到此列表中,它们会通过GitHub接受拉取请求)
答案 1 :(得分:2)
不,不是同一回事。 Qmaster很好地解释了设备与像素比率的概念,因此无需添加任何其他内容。
屏幕(或打印机)的点密度是每单位长度可以显示的点(像素)数(在当前的固定点数屏幕世界中实际上等于“具有”)。 CSS具有两个单位来表达这种大小:
创建CSS时,CRT显示器统治了整个世界,其点密度通常约为96dpi。实际上,根据CSS3的像素定义为:
参考像素是像素密度为96dpi的设备上一个像素的视角,与阅读器的距离为一臂之长。因此,对于标称长度为28英寸的手臂,其可视角度约为0.0213度。对于臂长阅读,因此1px相当于大约0.26毫米(1/96英寸)。Link。
一个dppx是在96dpi屏幕中发现的像素密度。用数学表示:
1dppx = 96dpi
例如,如果您的15英寸笔记本电脑的像素密度为146.9dpi,则完全等同于其像素密度为1.53dppx(1.53 = 146.9 / 96)。