我一直在谷歌搜索,但仍然無法找到爲什麼
是$(document).height()
不同於$(document.body).height()
?
更重要的是,有誰能告訴我jQuery中的高度方法
與原始JavaScript之間的對應關係嗎?例如,$(document).height()
相當於document.documentElement.scrollHeight
。
我一直在谷歌搜索,但仍然無法找到爲什麼
是$(document).height()
不同於$(document.body).height()
?
更重要的是,有誰能告訴我jQuery中的高度方法
與原始JavaScript之間的對應關係嗎?例如,$(document).height()
相當於document.documentElement.scrollHeight
。
因爲在你的HTML元素<body>
是另一個塊元素(很像<div>
),以及任何塊級元素,它可以有立體造型(margin
,padding
,width
,height
等)。
考慮到<body>
元素的「大小」並不需要直接對應document
對象的大小(對應於整個HTML呈現的整個文檔)。一個很好的原因是<body>
元素也在<html>
元素內,這是也是塊元素,並且可以有其各自的維度。
如果您的<html>
元素例如有,那麼您的<body>
元素的有效大小肯定與整個document
完全不同。
現在,不要誤會我的意思:document
和document.body
可以有相同的尺寸(試行檢查的StackOverflow的爲例),但你必須明白,<body>
只是另一個HTML塊,您可以通過CSS操作。
嗨,Ilagan,根據你的回答,你認爲如果我們重置瀏覽器標準的CSS(html,body {margin:0; padding:0;}),那麼我們會得到相同的高度,包括clientHeight,offsetHeight和scrollHeight? 順便說一句:我做了一些測試,結果不是那樣的。 –
如果您重置爲'html,body {margin:0;填充:0; }',**和**確保你的'寬度'和'高度'設置正確,你應該。這不僅僅是利潤和墊料。確保你不重寫你的重置規則以及其他一些樣式表。 –
我認爲身體有一個標準的餘量。對於第二部分,我不知道你的意思。
是的,我認爲標準差是導致這兩者不同的原因之一,但是應該有其他原因。無論如何,thx爲您提供幫助。 –
try body {margin:0; padding:0;}然後檢查高度 –