四種瀏覽器對 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解釋。
這四種瀏覽器分別為IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。
clientHeight 大家對 clientHeight 都沒有什麼異議,都認為是內容可視區域的高度,也就是說頁面瀏覽器中可以看到內容的這個區域的高度,一般是最後一個工具條以下到狀態欄以上的這個區域,與 頁面內容無關。
offsetHeight IE、Opera 認為 offsetHeight = clientHeight + 滾動條 + 邊框。 NS、FF 認為 offsetHeight 是網頁內容實際高度,可以小於 clientHeight。
scrollHeight IE、Opera 認為 scrollHeight 是網頁內容實際高度,可以小於 clientHeight。 NS、FF 認為 scrollHeight 是網頁內容高度,不過最小值是 clientHeight。
簡單地說 clientHeight 就是透過瀏覽器看內容的這個區域高度。 NS、FF 認為 offsetHeight 和 scrollHeight 都是網頁內容高度,只不過當網頁內容高度小於等於 clientHeight 時,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小於 clientHeight。
IE、Opera 認為 offsetHeight 是可視區域 clientHeight 滾動條加邊框。scrollHeight 則是網頁內容實際高度。 同理 clientWidth、offsetWidth 和 scrollWidth 的解釋與上面相同,只是把高度換成寬度即可。
from
http://sziyu.wordpress.com/2008/05/15/%E5%9B%9B%E7%A8%AE%E7%80%8F%E8%A6%BD%E5%99%A8%E5%B0%8D-documentbody-%E7%9A%84-clientheight%E3%80%81offsetheight-%E5%92%8C-scrollheight-%E7%9A%84%E8%A7%A3%E9%87%8B/
分享到:
相关推荐
- **document.body.clientHeight**: 表示网页可见区域的高度(不包含滚动条)。 - **document.body.offsetWidth**: 包含边框在内的网页可见区域宽度。 - **document.body.offsetHeight**: 包含边框在内的网页可见...
例如,`document.body.clientHeight` 和 `document.body.clientWidth` 可以用来确定网页在当前窗口尺寸下的实际可视区域大小。 ### 2. `offsetHeight` 和 `offsetWidth` `offsetHeight` 和 `offsetWidth` 包含了...
} else if (document.body.scrollHeight > document.body.offsetHeight){ yScroll = document.body.scrollHeight; } else { yScroll = document.body.offsetHeight; } var windowHeight; if (self....
1. **`document.body.clientWidth`** 和 **`document.body.clientHeight`**: - 这两个属性分别用于获取可视区域的宽度和高度,不包括滚动条和边框。 2. **`document.body.offsetWidth`** 和 **`document.body....
- `document.body.clientHeight` 和 `document.body.clientWidth`:其他IE版本和其他浏览器使用。 #### 五、实际应用 在实际开发中,通常还需要考虑以下几点: 1. **性能优化**:频繁调用这些函数可能会对页面...
- `document.body.scrollWidth` 和 `document.body.scrollHeight` 分别表示网页的完整宽度和高度,即使内容超过当前视口。 - `document.body.scrollTop` 和 `document.body.scrollLeft` 用于获取当前滚动条的位置。 ...
在JavaScript中,`clientHeight`、`offsetHeight`和`scrollHeight`是用于获取HTML元素尺寸的三个关键属性,它们在不同的浏览器环境下可能有不同的解释。理解这些属性的区别对于精确地处理网页布局和滚动行为至关重要...
- 不论是否定义W3C标准,`document.body.clientWidth` 和 `document.body.clientHeight` 返回的都是浏览器窗口的可见尺寸。 - 而 `document.documentElement.clientWidth` 和 `document.documentElement....
* `document.body.offsetHeight`:获取浏览器的可见区域高度(包括边线) * `document.body.offsetWidth`:获取浏览器的可见区域宽度(包括边线) * `document.body.scrollWidth`:获取浏览器的正文全文宽度 * `...
- `document.body.offsetWidth` 和 `document.body.offsetHeight` 会包括边框和内填充,用于获取网页实际显示的宽度和高度。 - `document.body.scrollWidth` 和 `document.body.scrollHeight` 分别表示网页的完整...
- `document.body.offsetWidth` 和 `document.body.offsetHeight`: 这两个属性返回`<body>`元素的总宽度和高度,包括边框。它们可以用于获取浏览器实际显示的页面内容宽度和高度,包括边框。 - `window....
### 四种浏览器对_clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和_scrollWidth 的解析 在前端开发过程中,我们经常会遇到需要获取页面元素尺寸的情况,这其中包括了元素的高度(`...
} else if(document.body.scrollHeight > document.body.offsetHeight) { // all but IE Mac scrW = document.body.scrollWidth; scrH = document.body.scrollHeight; } else if(document.body) { /...
- 在支持的浏览器中使用 `window.innerWidth` 和 `window.innerHeight` 替代 `document.body.clientWidth` 和 `document.body.clientHeight`。 #### 四、总结 通过本文的介绍,我们可以了解到获取浏览器窗口大小的...
document.body.offsetHeight – 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高,IE opera 下正常] document.body.scrollWidth – 网页总宽 document.body.scrollHeight – 网页总高 document.body....
对于IE5.5及更高版本,需要特别处理`document.body.scrollLeft`和`document.documentElement.scrollLeft`,以及`document.body.scrollTop`和`document.documentElement.scrollTop`,以确保在所有浏览器中的兼容性: ...
如果浏览器不支持这些属性,函数会检查`document.body.scrollHeight`是否大于`document.body.offsetHeight`,如果是,则使用`scrollHeight`。在其他情况下,如旧版的IE或Safari,使用`offsetHeight`。最后,如果页面...
例如,为了兼容所有浏览器,可能会结合使用 `document.body.clientWidth` 和 `document.body.offsetWidth` 来获取宽度,同时结合 `document.body.clientHeight` 和 `document.body.offsetHeight` 来获取高度。...
- `document.body.scrollWidth` 和 `document.body.scrollHeight` 分别表示网页正文的全文宽度和全文高度。 - `document.body.scrollLeft` 和 `document.body.scrollTop` 分别表示网页被卷去的宽度和高度。 - `...