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

简介: 设备像素、css像素、设备独立像素、dpr、ppi之间的区别

设备像素

设备像素(device pixels),又称为物理像素,指设备能控制显示的最小物理单位,单位(pt)

css像素

CSS像素(css pixel):在css中以px为后缀,是一个长度单位

在css规范中,长度单位可以分为绝对单位以及相对单位

px是一个相对单位,相对的是设备像素

css像素具有两个方面的相对性:

  • 在同一个设备上,每1个 CSS 像素所代表的设备像素是可以变化的(比如调整屏幕的分辨率)
  • 在不同的设备之间,每1个 CSS 像素所代表的设备像素是可以变化的(比如两个不同型号的手机)
  • 在页面进行缩放操作也会 引起css中px的变化,假设页面放大一倍,原来的 1px 的东西变成 2px,在实际宽度不变的情况下1px 变得跟原来的 2px 的长度(长宽)一样了(元素会占据更多的设备像素)

px会受到下面的因素的影响而变化

  • 每英寸像素(PPI)
  • 设备像素比(DPR)

设备独立像素

设备独立像素(Device Independent Pixel):与设备无关的逻辑像素,代表可以通过程序控制使用的虚拟像素,是一个总体概念,包括了CSS像素,在javaScript中可以通过window.screen.width/ window.screen.height 查看

一个设备独立像素里可能包含1个或者多个物理像素点,包含的越多则屏幕看起来越清晰

如果我们按照真实的物理像素进行布局,比如说我们按照 320 物理像素进行布局,到了 640 物理像素的手机上就会有一半的空白,为了避免这种问题,就产生了虚拟像素单位,1 个虚拟像素被换算成几个物理像素,这个数值我们称之为设备像素比(dpr)

dpr

  • dpr = 设备像素/设备独立像素
  • 当设备像素比为1:1时,使用1(1×1)个设备像素显示1个CSS像素
  • 当设备像素比为2:1时,使用4(2×2)个设备像素显示1个CSS像素
  • 当设备像素比为3:1时,使用9(3×3)个设备像素显示1个CSS像素
    当dpr为3,那么1px的CSS像素宽度对应3px的物理像素的宽度,1px的CSS像素高度对应3px的物理像素高度

ppi

  • ppi (pixel per inch),每英寸像素,表示每英寸所包含的像素点数目,更确切的说法应该是像素密度。数值越高,说明屏幕能以更高密度显示图像

总结

  • 无缩放情况下,1个CSS像素等于1个设备独立像素
  • 设备像素由屏幕生产之后就不发生改变,而设备独立像素是一个虚拟单位会发生改变
  • PC端中,1个设备独立像素 = 1个设备像素 (在100%,未缩放的情况下)
  • 在移动端中,标准屏幕(160ppi)下 1个设备独立像素 = 1个设备像素
  • 设备像素比(dpr) = 设备像素 / 设备独立像素
  • 每英寸像素(ppi),值越大,图像越清晰
目录
相关文章
|
1天前
|
负载均衡 监控 前端开发
|
1天前
|
前端开发 小程序 容器
wxss和css的区别
wxss和css的区别
20 2
|
1天前
|
前端开发
css伪类伪元素都有哪些区别是什么
css伪类伪元素都有哪些区别是什么
|
1天前
|
前端开发
CSS样式引用方式的区别
CSS样式引用方式的区别
|
1天前
|
前端开发 JavaScript UED
【Web 前端】css的引用有哪些,link和@import的区别?
【4月更文挑战第22天】【Web 前端】css的引用有哪些,link和@import的区别?
|
1天前
|
前端开发 UED
【Web 前端】css盒子模型有几种类型?它们区别是什么?
【4月更文挑战第22天】【Web 前端】css盒子模型有几种类型?它们区别是什么?
|
1天前
|
移动开发 HTML5
HTML5/CSS3粒子效果进度条代码
HTML5/CSS3进度条应用。这款进度条插件在播放进度过程中出现粒子效果,就像一些小颗粒从进度条上散落下来
17 0
HTML5/CSS3粒子效果进度条代码
|
1天前
|
移动开发 前端开发 JavaScript
:掌握移动端开发:HTML5 与 CSS3 的高效实践
:掌握移动端开发:HTML5 与 CSS3 的高效实践 “【5月更文挑战第6天】”
26 1
|
1天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
1天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。