设备像素 (device pixels)

也称为物理像素,显示器的最小物理单位。这里需要注意,一个像素并不一定是一个小正方形区块,也没有标准的宽高,只是用于显示丰富色彩的一个“点”而已。可以参考公园里的景观变色彩灯,一个彩灯(物理像素)由红、蓝、绿小灯组成,三盏小灯不同的亮度混合出各种色彩。

设备独立像素(device independent pixels)

独立于设备的像素。比如我们偶尔会说“电脑屏幕在 2560x1600分辨率下不适合玩游戏,我们把它调为 1440x900”,这里的“分辨率”(非严谨说法)指的就是设备独立像素。可以通过 window.screen.width/ window.screen.height 查看。 另外,平时我们所说的 iphoneX的逻辑分辨率375 x 812指的就是设备独立像素。chrome检查元素模拟调试手机设备时显示如375x667320x480都是设备独立像素。

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

像素分辨率

以手机屏幕为例,iphonex像素分辨率为1125x2436,是指屏幕横向能显示1125个物理像素点,纵向能显示2436个物理像素点。通常说的4K显示屏指的是 4096x2160。

PPI (pix per inch)

每英寸的物理像素数。以尺寸为5.8英寸(屏幕对角线长度)、分辨率为1125x2436的iphonex为例, ppi = Math.sqrt(1125*1125 + 2436*2436) / 5.8 ,值为 463ppi

CSS像素

浏览器使用的单位,用来精确度量网页上的内容,比如 div { width: 100px; }。 在一般情况下(页面缩放比为1),1个CSS像素 等于 1个设备独立像素。比如,假设把屏幕独立像素分辨率设置为1440x900,给页面元素设置为宽度720px,则视觉上元素的宽度是屏幕宽度的一半。这也解释了为什么当我们把独立像素分辨率调高后网页的文字感觉变小了。

当页面缩放比不为1时,CSS像素和设备独立像素不再对应。比如当页面放大200%,则1个CSS像素等于4个设备独立像素。

devicePixelRatio

window.devicePixelRatio指的是设备物理像素和设备独立像素(device-independent pixels, dips)的比例。window.devicePixelRatio = 物理像素 / 设备独立像素(dips) 。经计算, iphone x的 devicePixelRatio 是3。

尺寸的区别

获取屏幕尺寸(设备独立像素值):

screen.width
screen.height

获取窗口尺寸(css像素)

包含滚动条

window.innerWidth
window.innerHeight

不包含滚动条

document.documentElement.clientWidth
document.documentElement.clientHeight 

获取html元素尺寸(内容):

document.documentElement.offsetWidth
document.documentElement.offsetHight

css 获取屏幕宽度_设备像素、设备独立像素、CSS像素、分辨率、PPI、devicePixelRatio 的区别...相关推荐

  1. css 查看更多_在Scrapy中如何利用CSS选择器从网页中采集目标数据——详细教程(上篇)...

    /前言/ 今天小编给大家介绍Scrapy中另外一种选择器,即大家经常听说的CSS选择器. /CSS基础/ CSS选择器和Xpath选择器的功能是一致的,都是帮助我们去定位网页结构中的某一个具体的元素, ...

  2. css按钮居中_你不一定知道的CSS最小和最大(宽度/高度)知识点及优缺点

    通常,我们希望限制元素相对于其父元素的宽度,同时使其具有动态性.因此,有一个基础宽度或高度的能力,使其扩展的基础上,可用的空间.比如说,我们有一个按钮,它的宽度应该是最小的,不应该低于它的宽度.这就是 ...

  3. java css是什么_【狂神说JAVA】CSS(通俗易懂版)

    1.CSS的3种导入方式 Title h1{ color: green; } 这是标签 2.选择器 2.1基本选择器 2.1.1标签选择器 选择一类标签 标签{} Title h1{ color: a ...

  4. css flexbox模型_通过Flexbox Froggy游戏自学CSS Flexbox

    过去,我们只介绍了flexbox及其工作原理. 但是实际上将flexbox应用于您的工作流程可能会遇到挑战,因为它是CSS规范中如此复杂的补充. 使用Flexbox Froggy,您可以通过有趣的涉及 ...

  5. css 不规则边角_如何实现带有边角的CSS边框

    以下是完整代码,拷贝到编辑器即可使用 html> 带四角的边框 body { background: #00AB68; text-align: center; } #box { position ...

  6. 4.设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?

    一.背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此,css ...

  7. css基础知识四:说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?

    一.背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此,css ...

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

    一.背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此,css ...

  9. 说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?

    一.背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此,css ...

最新文章

  1. Caffe中对MNIST执行train操作执行流程解析
  2. OKR能带来哪些价值?
  3. [LeetCode] 102. Binary Tree Level Order Traversal_Medium tag: BFS
  4. Log4j使用详解(log4j.XML格式)
  5. AI公开课:19.04.17杨松帆—好未来AI Lab负责人《为人工智能时代打造一个AI老师》课堂笔记以及个人感悟
  6. 数据结构--双向链表
  7. 安装phpstudy之后发现80端口被占用
  8. 一起学 Java(四) File、Try 、序列化、MySQL、Socket
  9. 收集网络状态(Ping),并用邮件通知管理员
  10. 用msvdm.dll文件实现微软的虚拟桌面
  11. sql 占比计算_数据库索引的优化及SQL处理过程(建议收藏)
  12. Java开发入门与实战!java图形用户界面布局
  13. linux 安装mysql 云盘_linux下 安装mysql教程
  14. 如何使用Intellij IDEA工具导入SVN项目
  15. 用visio制作机柜服务器,visio 绘制机柜接线图 实例教程
  16. 电脑如何开启卓越性能模式
  17. mysql 统计请假天数_Javascript 计算请假天数
  18. Path.Direction.CCW与Path.Direction.CW的意思
  19. 设置支付后跳转到一个指定的网页,自动成交出售虚拟产品
  20. 计算机ppt测试题填空题,2017职称计算机PowerPoint练习试题及答案(1)-中华考试网...

热门文章

  1. jdk 11 模块系统_JDK 9:模块系统状态的重点
  2. wso2 esb_使用WSO2 ESB进行邮件内容过滤
  3. 响应式多级菜单 侧边菜单栏_使用纯HTML和OmniFaces构建动态响应的多级菜单
  4. AWS Elasticsearch后模式
  5. moreunit_MoreUnit与MoreUnit
  6. cassandra使用心得_使用Cassandra和Nutch爬网
  7. adf4350配置_配置MySQL以进行ADF开发
  8. camel.js_Camel 2.11 –没有Spring的Camel Web应用程序
  9. scala akka_使用Scala,Play和Akka连接到RabbitMQ(AMQP)
  10. JBoss Forge NetBeans集成–入门