程序员鸡皮
文章 分类 评论
256 4 34

站点介绍

一名PHP全栈程序员的日常......

什么是物理像素,什么是逻辑像素,CSS像素都是用来干什么的?

abzzp 2026-03-10 109 0条评论 前端 前端

首页 / 正文
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流......

发布于2024-07-04

这篇文章来聊一下什么是物理像素,逻辑像素,css像素,还有一些英文单词的缩写:pixel,DPR,PPI,DPI,首先我们了解一下pixel是什么?

pixel 是什么?

pixel是我们单词picture element的缩写,其中picture是我们图片的意思,element是像素,合起来就是像素,像素是影响显示的基本单位,比如我们的电脑屏幕像素和手机屏幕像素。像素是画像元素的简称,也就是pixel的简称,有时候我们也英文简称为pel(picture element)。

电脑像素

但是我们又知道有物理像素、逻辑像素、CSS像素,它们分别是什么?又有什么关系呢?

物理像素

Physical Pixel物理像素也叫做设备像素,是显示屏最小的物理单位。

每一个物理像素都可以发光并且可以显示对应的颜色,物理像素的大小是固定的,由设备的硬件决定。比如苹果15PM的像素是1290x2796这个就是物理像素。

物理像素的密度就是PPI,英文是Pixel Per Inch,缩写PPI。PPI越高画面显示越细腻,1英寸=2.54厘米,在工业领域被广泛应用。

逻辑像素

逻辑像素英文名称是Logical Pixel,有时也可以称作独立设备像素Device Independent Pixel,简称DPI

逻辑像素是一个抽象的单位,它用来在编程中统一不同设备的显示标准。逻辑像素是用来处理在不同设备处理统一内容尺寸单位。例如在高分辨率设备上,可能有多个物理像素组成一个逻辑像素。这样我们在开发的时候我们使用逻辑像素开发,可以保持相对一致的大小和显示效果。

CSS像素

CSS像素是逻辑像素的一种展示形式一般都用在web端,使网页在不同的设备上能有统一的显示,英文全称是CSS Pixel,随着设备屏幕密度的增加,浏览器会自动处理CSS像素与物理像素之间的比例关系,确保网页元素在视觉上的大小保持一致。

DPR

DPR是我们的设备像素比,英文全称是device pixel ratio.从2010年,苹果4发布以来不仅带来了移动互联网,而且带来了了Retina屏幕.

Retina屏幕翻译为视网膜显示屏,可以为用户带来更好的显示,在Retina屏幕中,一个逻辑像素在长度上对应两个物理像素,这个比例称之为设备像素比,我们可以通过window.devicePixelRatio获取到当前屏幕上的DPR值.

PPI

PPI英文全称是Pixels Per Inch,是指物理像素的密度(每英寸像素数量),PPI越高,屏幕显示的内容就越细腻。1英寸=2.54厘米,在工业领域被广泛应用

DPI

英文全称是Dots Per Inch,常用在设备就是打印机,常用在描述打印机输出的精细度。例如,一个高DPI值的打印机可以打印出更细致、更少见瑕疵的图像。

PPI和DPI的区别是什么?

DPI主要用于打印领域,而PPI则主要用于屏幕显示领域。
PPI衡量的是墨水点的数量,PPI衡量的是像素的数量。

结尾

物理像素也称为设备像素,是用来记录设备的真实的物理存在的单位,它由设备的硬件决定,我们所知道的电脑显示器和手机屏幕,都有它的物理像素,但是他们的物理像素差距很大,如果开发者用物理像素来开发网页就会首先计算每个设备的真实像素,可各种厂商的设备太多了会大大增加开发成本,所以我们引入了一个新的抽象概念:逻辑像素。

逻辑像素是操作系统和浏览器就抽象出另外的一种像素,它可以统一调用设备的物理像素。我们开发中用的像素单位就是逻辑像素,其实逻辑像素提出的过程中还衍生出来很多不同的概念,比如PPI(物理像素的密度,每英寸的物理像素数量),DPR(设备像素比,也就是一个逻辑像素对应的物理像素数量),DPI(每英寸打印点数,它主要应用于打印领域)。

感谢大家观看

评论(0)

文章目录

最新评论

  • 什么是作用域链以及作用域链在javascript中的作用是什么? - 程序员鸡皮-前端程序员|PHP程序员|全栈程序员

    [...]回顾如何定义作用域链如何定义'作用域'?说明不同类型的作用域作用域链Scope Chain是JavaScript中的一个基本概念,它属于确定当前执行代码的上下文变量的查找和访问机制。在作用域的构建基于词法作用域的解构,即变量和函数的可见性由它们在源代码中的位置决定。在JavaScript中,每个执行上下文如函数执行上下文都绑有一个与之关联的作用域链。这个作用域就是一个包含多个环境记录Environ[...]

  • Hary

    哈喽,你的SSL好像过期喽

  • abzzp

    @秋风于渭水 确实[[微笑]]

  • 通常会采取哪些措施来确保网站或者应用在不同的浏览器上的兼容性? - 程序员鸡皮-前端程序员|PHP程序员|全栈程序员

    [...]不同的浏览器存在兼容性问题的核心原因是不同的浏览器可能使用的是不同的浏览器内核。在现代化开发中,大多数的浏览器兼容性问题是可以通过工程化中的配置选项来解决的。1.比如browserslist可以配置目标的浏览器或者Node环境,然后在不同的工具中起作用,比如autoprefixer/babel/postess preset env等,在进行了正确的配置后,开发的Vue或者React项目在进行打包时[...]

  • BFC的作用是什么呢? - 程序员鸡皮-前端程序员|PHP程序员|全栈程序员

    [...]在BFC中,box会在垂直方向上一个挨着一个的排布垂直方向的间距由margin属性决定在同一个BFC中,相邻两个box之间的margin会折叠(collapse)在BFC中,每个元素的左边缘是紧挨着包含块的左边缘的然后我们再看一下官方文档中如何说明的?总结BFC是什么?W3C文档讲:在标准流中,我们所有的盒子,不管是块级盒子还是行内盒子,它们都属于某一个FC格式化上下文,块级盒子属于BFC`块级格[...]

  • 什么是FC呢?他是用来干什么的? - 程序员鸡皮-前端程序员|PHP程序员|全栈程序员

    [...]什么是FC呢这里我们给出W3C给出的文档,FC文档FC的全称是FormattingContext,元素在标准流里面都是属于一个FC的。那么什么又是IFC,BFC呢?IFC行内元素的布局都属于Inline Formatting,inline level box都是在IFC中布局的BFCBFC英文全称是Block Formatting Context,也就是block level box都是在BFC中[...]

  • 秋风于渭水

    这确实是一个盲点,这个还是很有必要的,处理不好会导致网页内的元素出现抖动问题。

  • defer属性在javascript标签中有什么作用? - 前端程序员,PHP程序员,全栈程序员-程序员鸡皮

    [...]我们知道,当浏览器在执行到script标签的时候,首先会停止构建DOM树,然后下载Javascript文件并且执行,当JavaScript脚本执行完毕之后才会继续解析HTML标签构建DOM树。为什么Javascript程序会这样做呢?原因是我们的Javascript的作用就是操作DOM并且可以修改DOM。如果我们等到HTML执行完成之后再去执行JavaScript就会造成严重的回流和重绘,尤其是现[...]

  • async属性是什么?它有什么作用? - 前端程序员,PHP程序员,全栈程序员-程序员鸡皮

    [...]async属性和defer属性目标一样它也是为了不让js阻塞DOM树的构建。不过他们两个还是有区别的。async让js脚本的下载和执行是独立的。浏览器不会因为async属性的script脚本的执行而阻塞,这一点和defer属性类似。然而async属性比较任性,只要脚本被浏览器下载完成之后就会立即执行,不会等待在DOMContentLoaded之前执行。所以它不能保证是在DOMContentLoad[...]

  • 城市教堂

    我热爱 旅游专栏。令人惊艳了解路线。

日历

2026年04月

   1234
567891011
12131415161718
19202122232425
2627282930  

站点公告
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流......
点击小铃铛关闭
配色方案