实时检测您的屏幕参数、视口大小和安全区域
Real-time detection of screen specs, viewport, and safe areas
| 设备类型 | Device Type | 设备 | Device | Resolution | DPR | CSS像素 | CSS Pixels |
|---|---|---|---|---|---|---|---|
| 📱 手机 | 📱 Mobile | iPhone 14 | 390 × 844 | 1170 × 2532 | 3 | ||
| 📱 手机 | 📱 Mobile | iPhone 14 Pro Max | 430 × 932 | 1290 × 2796 | 3 | ||
| 📱 手机 | 📱 Mobile | Samsung Galaxy S24 | 360 × 780 | 1440 × 3120 | 4 | ||
| 📲 平板 | 📲 Tablet | iPad Pro 12.9" | 1024 × 1366 | 2048 × 2732 | 2 | ||
| 📲 平板 | 📲 Tablet | iPad Air | 820 × 1180 | 1640 × 2360 | 2 | ||
| 💻 笔记本 | 💻 Laptop | MacBook Air 13" | 2560 × 1600 | 2560 × 1600 | 2 | ||
| 💻 笔记本 | 💻 Laptop | MacBook Pro 14" | 3024 × 1964 | 3024 × 1964 | 1 | ||
| 🖥️ 显示器 | 🖥️ Monitor | 1080p Full HD | 1920 × 1080 | 1920 × 1080 | 1 | ||
| 🖥️ 显示器 | 🖥️ Monitor | 1440p QHD | 2560 × 1440 | 2560 × 1440 | 1 | ||
| 🖥️ 显示器 | 🖥️ Monitor | 4K UHD | 3840 × 2160 | 3840 × 2160 | 1 |
屏幕分辨率检测工具是一款帮助开发者和用户查看当前设备屏幕信息的在线工具。它能够实时检测并显示当前浏览器窗口的尺寸(viewport)、设备的物理屏幕分辨率、设备像素比(DPR)、色彩深度、横竖屏状态等信息。在响应式 Web 开发中,了解目标设备的屏幕参数对于制定断点策略(breakpoints)和优化布局至关重要。开发者可以使用此工具快速验证自己的设备环境,确认媒体查询是否按预期生效。同时工具还提供常见设备分辨率参考表和视口模拟器,帮助开发者理解不同设备上的显示效果差异。
在开发响应式页面时,使用此工具确认当前视口宽度落在哪个断点区间,验证 CSS 媒体查询是否正确触发。例如确认 768px 断点是否在 iPad 竖屏时正确生效。
检查当前设备的 DPR(设备像素比)。Retina 屏幕的 DPR 为 2 或 3,意味着 1 个 CSS 像素对应 4 或 9 个物理像素。开发者需要据此提供 2x/3x 的图片资源以确保清晰度。
通过分析自己常用设备的屏幕参数,结合网站流量统计中的设备分布数据,制定针对性的适配策略。确保在用户最常用的设备尺寸下获得最佳体验。
浏览器通过 JavaScript 的 window 和 screen 对象暴露设备信息。window.innerWidth/innerHeight 返回视口尺寸(CSS 像素),screen.width/height 返回屏幕逻辑分辨率,window.devicePixelRatio 返回设备像素比。CSS 像素和物理像素的关系为:物理像素 = CSS像素 × DPR。媒体查询 @media (max-width: 768px) 基于视口宽度(viewport width)而非物理屏幕宽度。
// 获取设备屏幕信息
const info = {
viewportWidth: window.innerWidth,
viewportHeight: window.innerHeight,
screenWidth: screen.width,
screenHeight: screen.height,
devicePixelRatio: window.devicePixelRatio,
colorDepth: screen.colorDepth,
orientation: screen.orientation?.type,
// 计算物理像素
physicalWidth: screen.width * window.devicePixelRatio,
physicalHeight: screen.height * window.devicePixelRatio
};
console.log(info);
// 监听窗口变化
window.addEventListener('resize', () => {
console.log(`Viewport: ${window.innerWidth}x${window.innerHeight}`);
});
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 确保移动端正确渲染。A>viewport(视口)是浏览器中显示网页的区域大小,会随浏览器窗口大小变化。screen(屏幕)是设备的物理屏幕尺寸(逻辑像素),固定不变。在移动浏览器中,viewport 通常小于 screen(因为浏览器地址栏等 UI 占据空间)。
A>因为 DPR(设备像素比)的存在。iPhone 14 的物理像素为 1170×2532,DPR 为 3。CSS 使用逻辑像素(390×844),1 个 CSS 像素由 3×3=9 个物理像素渲染。这样做是为了保持不同设备上元素的大小一致。
A>媒体查询基于 viewport 尺寸(即 window.innerWidth),不是物理屏幕尺寸。这就是为什么调整浏览器窗口大小时,媒体查询会实时切换。移动端的 viewport 受 viewport meta 标签控制。
A>现代最佳实践是"内容驱动断点":逐渐缩小浏览器窗口,当布局开始变得不协调时设置断点。常见参考断点:320px(小手机)、768px(平板)、1024px(小桌面)、1440px(大桌面)。但最终应根据实际内容决定。
A>DPR=2 表示每个 CSS 像素由 2×2=4 个物理像素渲染。如果图片的 CSS 尺寸是 200×200px,应提供 400×400px 的图片资源。使用 srcset 属性:<img srcset="img-1x.jpg 1x, img-2x.jpg 2x">,浏览器自动选择。