screen对象提供设备级屏幕信息:screen.width/height返回主显示器原生分辨率,不受缩放和窗口影响;screen.availwidth/availheight返回扣除系统ui后的可用区域;devicepixelratio反映物理像素比,orientation支持横竖屏判断。

screen 对象是浏览器提供的内置对象,用于获取用户屏幕(显示器)的原始分辨率、可用区域等信息。它不依赖页面渲染或窗口大小,反映的是设备物理或系统级的显示能力。
screen.width 和 screen.height 获取屏幕总宽高
这两个属性返回屏幕的完整像素宽度和高度(单位:px),通常对应显示器的原生分辨率。
- 例如:一台 1920×1080 的显示器,
screen.width返回1920,screen.height返回1080 - 注意:在多屏环境下,它返回主显示器的分辨率,不是所有屏幕叠加,也不代表当前浏览器所在屏幕
- 该值不受缩放(如 Windows 缩放设置为 125%)、浏览器窗口大小或页面缩放影响
screen.availWidth 和 screen.availHeight 获取可用工作区
这两个属性返回屏幕中实际可用于显示网页的像素尺寸,已扣除操作系统任务栏、dock、菜单栏等固定 UI 占用的空间。
- 例如:Windows 系统默认底部有任务栏,
screen.availHeight可能比screen.height小几十像素 - macOS 中 Dock 隐藏时,
availWidth/availHeight可能接近width/height;显示时会相应减小 - 适合用于计算全屏弹窗、遮罩层等需要“撑满可用屏幕”的场景
其他实用属性:缩放与方向判断
虽然不能直接获取系统缩放比例,但可通过组合属性辅助判断显示环境:
-
screen.devicePixelRatio:设备像素比(如 1、1.25、1.5、2),反映物理像素与 CSS 像素的换算关系,常用于高清图适配 -
screen.orientation(需注意兼容性):返回屏幕朝向(portrait-primary、landscape-secondary等),配合screen.orientation.type使用,适用于响应式横竖屏逻辑 -
screen.colorDepth和screen.pixelDepth:返回屏幕色深(如 24),一般用于低级别图形检测,日常开发中较少使用
简单示例:打印当前屏幕信息
可在控制台或初始化脚本中运行:
console.log('总宽度:', screen.width);
console.log('总高度:', screen.height);
console.log('可用宽度:', screen.availWidth);
console.log('可用高度:', screen.availHeight);
console.log('设备像素比:', screen.devicePixelRatio);
console.log('当前方向:', screen.orientation?.type);
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











