devicePixelRatio和dppx有什么不同?

时间:2015-08-12 02:31:14

标签: html5 css3 frontend

我对devicePixelRatiodppx进行了一些研究:

deicePixelRatio:返回当前显示设备上一个物理像素的(垂直)大小与一个CSS像素大小的比率。

dppx:每个'px'单位的点数。

我认为他们是同一回事,但我不确定,我是对的吗?

2 个答案:

答案 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接受拉取请求)

http://dpi.lv/

答案 1 :(得分:2)

不,不是同一回事。 Qmaster很好地解释了设备与像素比率的概念,因此无需添加任何其他内容。

屏幕(或打印机)的点密度是每单位长度可以显示的点(像素)数(在当前的固定点数屏幕世界中实际上等于“具有”)。 CSS具有两个单位来表达这种大小:

  • dpi(每英寸点数)
  • dppx(每像素点数)

创建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)。