设备像素、css像素、设备独立像素之间的区别?

一、概念

1.1 设备像素

设备像素又称 物理像素 ,是设备能控制显示的最小单位,我们可以把它看做显示器上的一个点。我们常说的 1920x1080像素分辨率就是用的设备像素单位。

1.2 css像素

css像素是 web编程的概念 ,它是 抽象的 ,实际上 不存在 。用于逻辑上衡量像素的单位。也就是我们做网页时用到的css像素单位。
在这里插入图片描述

1.3 设备独立像素(DIP)

设备独立像素(Device Independent Pixel)简写DIP。

设备独立像素也叫 密度无关像素 ,可以认为是计算机坐标系统中的一个点,这个点表示一个可以由程序使用并控制的虚拟像素,可以由相关系统转换为物理像素。设备独立像素是一个整体概念,包括了css像素,比如:css像素,只是在android 机中,css像素不叫 “css像素了”,而叫“设备独立像素”。

二、关系

因为设备独立像素是包含了css像素的大类,所以我们这里只讨论 设备像素 和 设备独立像素 的关系:

2.1 PC端

1个设备独立像素等于1个设备像素(在100% 未缩放的情况下),如果缩放到200%,则1个设备独立像素等于2个设备像素。(可以尝试按住ctrl键,然后滚动鼠标实现网页缩放)

2.2 移动端

根据设备不同,有很大差异
在详细阐述设备像素和独立设备像素 的关系前我们先了解两个概念,ppidpr

2.3 ppi

PPI翻译过来就是每英寸有多少个像素点(这里的像素指的是设备像素,既物理像素),说的直白点PPI就是像素密度 pixel density),PPI的值越高,画质越好,看起来更有逼格。那么PPI是怎么计算出来的呢,看公式
在这里插入图片描述
我们不妨用上面的公式做做数学题,见下图:
在这里插入图片描述
下面我们来计算一下 iphone6 plus 的ppi;
var ppi = sqrt(1920X1920+1080X1080)/5.5; 计算结果ppi 为 400.528576,实际上会有出入,但这没关系。

好了我们还是回到上面的问题:设备像素和设备独立像素是如何进行换算的?它们是通过设备像素比(dpr,device pixel ratio)来进行换算的。那么什么是设备像素比呢?

2.4 dpr

在这里插入图片描述
在javascript中,可以通过window.devicePixelRatio获取到当前设备的dpr。在css中,可以通过-webkit-device-pixel-ratio,webkit-min-device-pixel-ratio和-webkit-max-device-pixel-ratio进行媒体查询,对不同dpr的设备,做一些样式适配(这里只针对webkit内核的浏览器和webview)。
设备像素的大小是固定的,是不可变的。而设备独立像素是可以被拉长或压缩的。
在这里插入图片描述

2.5 实例

以iphone6为例:

设备宽高为375×667,可以理解为设备独立像素(或css像素)。
dpr为2,根据上面的计算公式,其物理像素就应该×2,为750×1334。
在这里插入图片描述
上图中可以看出,对于这样的css样式:

width: 2px;
height: 2px;

在不同的屏幕上(普通屏幕 vs retina屏幕),css像素所呈现的大小(物理尺寸)是一致的,不同的是1个css像素所对应的物理像素个数是不一致的。
在普通屏幕下,1个css像素 对应 1个物理像素(1:1)。 在retina 屏幕下,1个css像素对应 4个物理像素(1:4)

参考:https://www.likecs.com/show-306636060.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小绵杨Yancy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值