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

设备像素 (device pixels)

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

f7530445983f4161fb10c4413a3f48c3.png

设备独立像素(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

c23acc0fe872d968d05ed27bdb696295.png

获取窗口尺寸(css像素)

包含滚动条

window.innerWidth
window.innerHeight

bcbf78138f90dbb2137dc9c095be512d.png

不包含滚动条

document.documentElement.clientWidth
document.documentElement.clientHeight 

a6a8c2d31c9c80af04fec744a94c8199.png

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

document.documentElement.offsetWidth 
document.documentElement.offsetHight

ede6e53f4c6c6048c6d562faaa664a37.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell 脚本中特殊变量

特殊变量含义$0这个程式的执行名字$n这个程式的第n个参数值,n1…9$*这个程式的所有参数$#这个程式的参数个数$$这个程式的PID(脚本运行的当前进程ID号)$!执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$?…

netbeans调试_从NetBeans运行和调试WildFly Swarm应用程序

netbeans调试使用NetBeans的Java EE开发人员习惯于直接在NetBeans所选择的应用程序服务器中运行和调试其瘦战应用程序。 在开发打包为ber或镂空jars的微服务时,您期望使用相同的轻松方式进行运行和调试。 好消息是您可以。 在本文中,我将逐步介绍如何在N…

怎么更换默认路径_更改电脑桌面路径

电脑默认的桌面路径一般都在C盘,而我们又特别喜欢把文件都放在桌面,因为桌面既方便又好找。可时间久了,桌面文件会越来越多,C盘空间会越来越小,会拖慢系统速度。怎么把系统桌面路径设置在非C盘呢?本期教程将为大家讲解…

Linux 命令之 wc -- 统计文件中的字节数、字数、行数

文章目录命令介绍选项参数示例(一)统计当前目录下的所有文件的行数(二)统计当前目录下的文件总数(三)显示某个文件的行数(四)显示某个文件的行数、单词数、字节数(五&…

JSON合并补丁程序:JSON-P 1.1概述系列

Java EE 8包括对JSON处理API的更新,并使其与JSON的最新IEFT标准保持同步。 他们是: JSON指针 RFC 6901 JSON补丁 RFC 6902 JSON合并修补程序 RFC 7396 我将在这个迷你系列中涵盖这些主题。 入门 要开始使用JSON-P,您将需要Maven中央存储…

连接相机无法识别_春节用相机拍照,如何快速发朋友圈?

春节期间很多人都会用相机拍照相机照片在画质上有优势但分享比较麻烦如何快速发朋友圈?最快最方便的方式还是试用U盘直接把存储卡的照片拷贝到手机上操作简单方便,下面提供几种方式下面的读卡器推荐每款实用对象不一样,在选择时,根…

Linux 命令之 sh -- Shell 命令语言解释器

文章目录一、命令介绍二、选项参数三、命令示例(一)命令从字符串中读取一、命令介绍 sh命令是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通! Bourne Again Shel…

oidc auth2.0_使用Spring Security 5.0和OIDC轻松构建身份验证

oidc auth2.0“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 Spring Security不仅是一个功能强大且可高度自定义的身份验证和访问控制…

Linux 命令之 xargs -- 给其他命令传递参数的一个过滤器

文章目录一、命令介绍二、选项参数三、命令示例(一)批量重命名目录中的文件(二)给多个命令传递参数一、命令介绍 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成…

40无法u盘启动_戴尔主板bios设置u盘启动 戴尔台式电脑如何bios设置U盘启动教程...

戴尔dell作为电脑十大品牌,开创于1984年美国,以生产/设计/销售家用及办公室电脑而闻名,随着使用戴尔电脑的用户越来越多,在使用过程中可能会遇到系统被错误操作或者是内部组件损坏导致无法正常使用的情况。对于这种问题我们可以使…

变色龙引导_Arquillian变色龙。 简化您的Arquillian测试

变色龙引导Arquillian Chameleon的诞生是为了简化Arquillian测试的配置。 我很自豪地宣布,使用1.0.0.CR2版本,我们不仅简化了Arquillian测试的配置方式,而且简化了编写方式。 在此新版本中,添加了三个新的简化: 您只…

Linux 命令之 eval -- 对参数执行两次解释

文章目录一、命令介绍二、选项参数三、命令示例(一)输出文件的内容(二)统计当前目录下的文件总数(三)输出变量的值及给变量赋值一、命令介绍 功能说明:重新运算求出参数的内容。 命令语法&…

设置图像的title_【HTML】2 图像标签和属性

1、图像标签和属性图像标签&#xff1a;<img>标签引入外部图片文件&#xff0c;并进行显示&#xff0c;单标签&#xff0c;不需要成对出现。属性&#xff1a;属于标签的特性。标签要通过属性来定义所希望的设置参数。2、应用案例<!DOCTYPE html> <html lang&quo…

jvm体系结构概述_JVM体系结构:JVM和JVM体系结构概述

jvm体系结构概述各位读者好&#xff01; 在本教程中&#xff0c;我们将了解和学习Java虚拟机&#xff08;JVM&#xff09;及其体系结构。 本教程将帮助您正确回答以下问题&#xff1a; Java中的JVM是什么&#xff1f; JVM的不同组件 JVM&#xff0c;JRE和JDK之间的区别 1.简…

Linux 命令之 declare -- 声明或显示 shell 变量

文章目录一、命令介绍二、命令格式三、命令选项四、命令示例&#xff08;一&#xff09;声明变量并赋值&#xff08;二&#xff09;将变量设置为环境变量&#xff08;三&#xff09;将变量设置为只读&#xff0c;不可修改&#xff08;四&#xff09;将变量声明为整数并进行计算…

mysql数据库应用_MySQL数据库应用 从入门到精通 学习笔记

以下内容是学习《MySQL数据库应用 从入门到精通》过程中总结的一些内容提要&#xff0c;供以后自己复现使用。一&#xff1a;数据库查看所有数据库:SHOW DATABASES创建数据库:CREATE DATABSE database_name切换数据库:USE database_name删除数据库:DROP DATABASE database_name…

Linux 命令之 env -- 显示系统的环境变量,定义执行命令时的环境变量

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;显示系统的环境变量&#xff08;二&#xff09;从当前环境中删除指定的变量&#xff08;三&#xff09;定义指定的环境变量&#xff08;四&#xff09;在一个修改后的环境下执行命令一、命令介绍 env命…

aws lambda_跑来跑去:假人与AWS Lambda的第一次接触

aws lambda这一切始于埃及人在一个木框上滑动几块大理石以简单的算术使其大脑放松的时候。 或许是希腊人发明了Antikythera机制来追踪行星的运动至每千年2度的精度 。 无论哪种方式&#xff0c;计算都已经走了很长一段路&#xff1a;查尔斯巴贝奇的分析引擎 &#xff0c;艾伦图…

Linux 命令之 set -- 显示或设置 shell 特性及 shell 变量

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;开启/关闭特性&#xff08;二&#xff09;将普通变量设为环境变量一、命令介绍 set 命令作用主要是显示系统中已经存在的 shell 变量&#xff0c;设置 shell 变量的新变量值&#xff0c;可以把已有的变…

Linux 命令之 unset -- 删除指定的shell变量或函数

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;删除指定的环境变量一、命令介绍 unset 为 shell 内建指令&#xff0c;用于删除已定义的shell变量&#xff08;包括环境变量&#xff09;和shell函数。unset命令不能够删除具有只读属性的shell变量和环…