screen.width 和 screen.height 返回设备物理像素分辨率(如1920×1080),不受缩放和窗口大小影响;screen.availwidth/availheight 返回扣除系统ui后的可用区域尺寸;pixeldepth/colordepth 表示颜色深度;devicepixelratio 用于计算逻辑分辨率。

JavaScript 中通过 BOM 的 screen 对象可以轻松获取设备屏幕的分辨率信息,它提供的是物理像素尺寸(即设备实际支持的最大显示区域),与 CSS 像素或缩放无关。
screen.width 和 screen.height
这两个属性返回屏幕的完整宽度和高度(单位:像素),代表设备原生分辨率:
- screen.width:整个屏幕的水平像素数(例如 1920)
- screen.height:整个屏幕的垂直像素数(例如 1080)
注意:它们不受浏览器窗口大小、缩放比例或滚动影响,是只读的系统级信息。
screen.availWidth 和 screen.availHeight
这两个属性返回**可用屏幕区域**的尺寸,已排除任务栏、Dock、菜单栏等系统 UI 占用的空间:
- screen.availWidth:可用宽度(如 Windows 任务栏在底部时,可能比 width 小几十像素)
- screen.availHeight:可用高度(macOS 的菜单栏、Windows 的任务栏都会减少该值)
适合用于全屏弹窗或桌面级应用布局参考,但 Web 页面通常更关注视口(window.innerWidth)而非此值。
其他相关属性(辅助判断显示环境)
虽然不直接表示分辨率,但以下属性有助于理解屏幕特性:
- screen.pixelDepth:屏幕颜色深度(如 24,表示每像素 24 位,即真彩色)
- screen.colorDepth:与 pixelDepth 大多相同,历史兼容别名
-
window.devicePixelRatio:设备像素比(如 2 表示 1 个 CSS 像素对应 2×2 物理像素),可结合 screen.width 推算逻辑分辨率(
screen.width / devicePixelRatio)
简单示例:打印当前屏幕信息
可在控制台运行:
console.log({
resolution: `${screen.width}×${screen.height}`,
available: `${screen.availWidth}×${screen.availHeight}`,
dpr: window.devicePixelRatio,
color: screen.colorDepth
});
输出类似:{ resolution: "1920×1080", available: "1920×1040", dpr: 1, color: 24 }
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











