35

我试图用$(window).width();. 在 IE 10 上,它会返回完整的浏览器宽度,包括滚动条。但是,在 Firefox 和 Chrome 上,两者都返回没有滚动条的值。

如何将浏览器宽度与滚动条一起包含?因为我需要检测到的宽度与 CSS 完全相同。

谢谢。

4

4 回答 4

74

第一个答案很接近,但经过进一步检查,它有点复杂。是不包括滚动条body.clientWidth的宽度。这window.outerWidth是包括滚动条和其他窗口元素(如窗口边框)的宽度。这window.innerWidth是窗口的实际宽度,包括滚动条,但不包括窗口边框。

在此处输入图像描述

于 2014-09-30T14:31:09.917 回答
29

这将获得整个窗口的宽度:

 window.outerWidth

注意: jQueryouterWidth()不起作用$(window)

于 2013-10-25T06:50:24.640 回答
22

window.innerWidth响应式设计需要时似乎是正确的答案

于 2017-01-04T10:29:12.687 回答
5

window.innerWidth将给出 HTML滚动条的宽度。此值是在 CSS 中使用媒体查询时用于设备宽度断点的值。本质上,window.innerWidth等于计算出的 CSS unit 100vw。但是,window.outerWidth会给你整个窗口的宽度。

例如,如果您在浏览器中打开了 Chrome 的开发工具则将window.outerWidth是网页的宽度 + 滚动条 + Chrome 的开发工具检查器。Whilewindow.innerWidth将返回仅网页 + 滚动条的宽度。

于 2019-05-23T20:45:50.627 回答