在线工具箱
响应式断点测试

响应式断点测试

实时监控视口尺寸与断点命中,内置主流框架断点预设与媒体查询代码。

隐私安全:所有处理均在您的浏览器本地完成,数据绝不上传
响应式断点检测浏览器检测

当前视口

🔒 全部在本地完成,不上传
视口宽度(不含滚动条)
—px
视口高度
—px

正在读取视口信息…

设备像素比 DPR
—
屏幕方向
—
可视视口
—
页面缩放
—
滚动条宽度
—
屏幕分辨率
—

断点标尺

量程 —
—

标尺为线性映射;游标为当前视口宽度,刻度为所选框架的各断点位置。

断点配置

—

媒体查询命中状态

—
断点范围min-widthmax-width状态

内嵌 iframe 预览

iframe 内部媒体查询真实生效

预览内容由本页内联生成(srcdoc),不请求任何外部地址;示例卡片会按 iframe 宽度切换列数。

断点参考对照

常见设备尺寸

工作原理

  1. 1打开页面即读取当前视口:以不含滚动条的 clientWidth 作为宽度口径,与 CSS 媒体查询保持一致
  2. 2对每个断点调用 matchMedia 判定 (min-width)/(max-width) 是否命中,而不是手工比较 window.innerWidth
  3. 3窗口缩放与可视视口变化时用 requestAnimationFrame 节流更新标尺、命中状态与结论文案
  4. 4切换到内嵌预览时,把示例页写入 iframe 的 srcdoc 并设置其宽度,iframe 内部的媒体查询按该宽度真实生效
  5. 5可自定义断点名称与范围(本地保存到 localStorage),并复制生成的媒体查询代码或框架类名提示

常见问题

为什么界面显示的宽度和我用 window.innerWidth 看到的不一样?

window.innerWidth 包含垂直滚动条宽度(约 15~17px),而 CSS 媒体查询的宽度不含滚动条。本工具以 document.documentElement.clientWidth 作为显示口径,并用 matchMedia 判定命中,因此界面宽度与媒体查询结果一致。

点击设备按钮能真实改变浏览器窗口大小吗?

不能。浏览器不允许网页用脚本修改窗口尺寸。本工具的做法是在页面内提供一个可调宽度的 iframe,把示例页渲染在其中——iframe 内部的媒体查询会按其自身宽度生效,从而实现真实可用的断点模拟。

为什么用 iframe 预览外部网站会失败?

出于安全策略,许多站点通过 X-Frame-Options 或 CSP 的 frame-ancestors 禁止被嵌套。本工具默认预览内置的示例页(本地 srcdoc 生成,不发任何网络请求),因此不受该限制;也不建议在本地工具中加载外部页面。

设备像素比(DPR)和断点判定有关系吗?

没有直接关系。断点由 CSS 像素宽度决定,而 DPR 只是物理像素与 CSS 像素的比值(影响清晰度)。浏览器缩放会同时改变 DPR 与可视宽度,所以本工具把 DPR、页面缩放和可视视口尺寸一并展示,便于对照排查。

自定义断点会保存吗?保存在哪里?

会。自定义断点保存在浏览器本地 localStorage 中,刷新页面后仍然存在;清理浏览器数据会丢失。数据始终留在你的浏览器里,不会上传到任何服务器。

复制的媒体查询代码可以直接使用吗?

可以。复制出的内容为标准的 @media (min-width: Npx) { } 形式,可直接粘贴到 CSS 文件中。切换框架时还会给出该框架对应的类名或 API 提示(如 Tailwind 的 md: 前缀、Bootstrap 的 col-md-6)。

更多在线工具