document.documentElement.clientHeight和document.body.clientHeight之间的区别

Noo*_*ath 8 javascript

document.documentElement.clientHeight和之间有什么区别document.body.clientHeight?所有Web浏览器的返回值是否一致,或者各自对它们进行不同的评估?

在我的特殊情况下,documentElement似乎有一个比body元素更小的高度,这是没有意义的.为什么会这样?

Guf*_*ffa 15

document.documentElement属性为您提供html元素,而document.body属性为您提供body元素.

window.innerHeight属性返回窗口的高度而不是内容的高度.

不同的浏览器会为这些元素的大小提供不同的值,并且相同的浏览器可能会给您不同的值,具体取决于页面是以Quirks模式还是标准合规模式呈现,以及您使用的是HTML还是XHTML.所述html元件可以表示窗口,或整个页面.所述body元件可以是相同大小的html元件,或在页面中的内容的大小.

htmlbody元素是不会以同样的方式作为与其它元素存在"神奇"的元素.在XHTML中,它们被更改为使它们更像真实元素,但仍然存在一些"神奇"的东西.例如,body元件不具有它自己的背景,而不是htmlbody共享相同的背景,它总是涉及即使整个窗口body元素没有.


Noo*_*ath 10

我想出了这个问题!它与HTML标记之前的DOCTYPE声明有关.没有doctype,documentElement和body实际上是切换的.还要感谢其他人的帮助:D