Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.innerWidth和screen.width之间有什么区别?_Javascript_Html_Css - Fatal编程技术网

Javascript window.innerWidth和screen.width之间有什么区别?

Javascript window.innerWidth和screen.width之间有什么区别?,javascript,html,css,Javascript,Html,Css,当devtools打开并停靠在右侧时,我能够注意到这两个属性的值存在差异。但最重要的是,我听说其中一个使用物理像素,另一个使用逻辑像素。这是真的吗?如果是,哪一个使用哪一个?我在任何地方都找不到这方面的任何信息。名字中有点含蓄。:-)是窗口的内部宽度或更精确的视口(不包括工具栏、窗口浏览器等;但包括垂直滚动条(如果有)占用的空间)。是屏幕的宽度(不仅仅是浏览器窗口) 例如,现在我的浏览器窗口的innerWidth为1197,但如果我将其加宽,可能是(比如)1305。我的屏幕分辨率为1920x10

当devtools打开并停靠在右侧时,我能够注意到这两个属性的值存在差异。但最重要的是,我听说其中一个使用物理像素,另一个使用逻辑像素。这是真的吗?如果是,哪一个使用哪一个?我在任何地方都找不到这方面的任何信息。

名字中有点含蓄。:-)是窗口的内部宽度或更精确的视口(不包括工具栏、窗口浏览器等;但包括垂直滚动条(如果有)占用的空间)。是屏幕的宽度(不仅仅是浏览器窗口)

例如,现在我的浏览器窗口的
innerWidth
为1197,但如果我将其加宽,可能是(比如)1305。我的屏幕分辨率为1920x1080,因此无论我的浏览器窗口有多大,我的机器上的
screen.width
始终为1920

但最重要的是,我听说其中一个使用物理像素,另一个使用逻辑像素

它们都应该是我认为你会称之为“逻辑”的,但请注意,这方面还没有标准,只有一个工作草案:。该草案称,除非另有说明,否则所有测量值均以CSS像素为单位,并且这些属性均未另行说明。如果有一些实现使用物理像素表示一个,CSS像素表示另一个,我还没有听说过(但我不确定我一定会听说)。

是屏幕的宽度。例如,如果您的屏幕分辨率为1600x900,
screen.width
将始终为
1600


但是,是浏览器窗口的内部宽度。如果调整浏览器窗口的大小,
window.innerWidth
将更改。

这(关于screen.width)在某种程度上是错误的。当我使用开发工具模拟mobile时,我得到screen.width为375,innerWidth 981

screen实际上是显示端口,例如您的屏幕。“窗口”只是包含浏览器的窗口。这些类型的问题只需查看文档即可轻松回答。
我在任何地方都找不到有关此问题的任何信息
您能描述一下您是如何搜索的吗?我的意思是,谷歌的第一个链接只是为了澄清:我确实花了几分钟的时间来搜索这个。我确实尝试了不同的查询,并寻找了价值超过整个谷歌搜索结果页面一半的内容。我的错误是假设它们是相似的财产;我在寻找错误的信息。我可能是个笨蛋,但如果你认为这是一个愚蠢的问题,请知道这不是因为缺乏研究。这不是一个愚蠢的问题。因此,它充满了类似的问题,是许多谷歌搜索基本文档问题的主要目的地。问答性质有助于在特定情况下向具有特定专业水平的个人传达文档中未提及的常见误解和用例,这些误解和用例通常代表更广泛的人群。每个问题有多个答案也允许一个基本问题满足更广泛的经验水平和情况。文档的存在本身不应该成为不问的理由。也许值得指出的是,
innerWidth
/
innerHeight
是内部查看区域的大小,而不是浏览器窗口本身的大小,它可能包括工具栏、开发人员面板、导航栏等。@Zambonifofex:对不起,这不是目的。:-)只是一些轻松的幽默。关于物理v逻辑像素的有趣问题。特别感谢您告诉我们他们使用的是哪个单元(逻辑像素)。您好。我一直在考虑改变这个问题的核心,使它真正有用。我计划将其更改为类似“哪个unity do window.innerWidth和screen.width返回(物理像素与逻辑像素)”。你怎么看“?这种改变是否真的被这个网站的社区所接受?谢谢。@Zamboniofex:这很棘手。问题不应该是移动的目标,所以重要的是不要改变它们,以免使现有答案(即使是不被接受的答案)无效。但你最初的问题确实问了逻辑与物理的问题(据我所知)。这是真的,没有理由不强调。如果我弄错了,而戈托的答案早于问题的那一部分,我就不回答了。