Study HTML DOM《document.body.clientHeight》
2014-06-13 09:04
387 查看
一、问题描述
document.body.clientHeight与document.documentElement.clientHeight取值不同。
二、问题再现
有时候需要取页面的底部, 就会用到document.body.clientHeight ,在HTML 标准中(这一句就能取到整个页面的高度,不论body 的实际内容到底有多高,
例如, 1074*768 的分辨率,页面最大化时,这个高度约为720,即使页面上只有一句"hello world" , 也仍然取到720。
可是在XHTML中,如果body 体中只有一行, 则document.body.clientHeight 只能取到那一行的高度约20px,这时如何还想取到整个页面的高度,就要用document.documentElement.clientHeight 来获取了。
三、分析原因
在HTML 中, body 是整个DOM 的根。
在XHTML 中, document 才是根, body 不再是根, 所以取body 的属性时, 不能再取到整个页面的值。
区别新旧标准的行是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > //指明该页面使用旧标准,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> //指明该页面使用新标准。
四、总结
XHTML中用 document.documentElement.clientHeight 代替document.body.clientHeight
备注:以上来自 http://www.cnblogs.com/fullhouse/archive/2012/01/05/2313800.html
--------------------------------------------------------------
document.body.clientHeight与document.documentElement.clientHeight取值不同。
二、问题再现
有时候需要取页面的底部, 就会用到document.body.clientHeight ,在HTML 标准中(这一句就能取到整个页面的高度,不论body 的实际内容到底有多高,
例如, 1074*768 的分辨率,页面最大化时,这个高度约为720,即使页面上只有一句"hello world" , 也仍然取到720。
可是在XHTML中,如果body 体中只有一行, 则document.body.clientHeight 只能取到那一行的高度约20px,这时如何还想取到整个页面的高度,就要用document.documentElement.clientHeight 来获取了。
三、分析原因
在HTML 中, body 是整个DOM 的根。
在XHTML 中, document 才是根, body 不再是根, 所以取body 的属性时, 不能再取到整个页面的值。
区别新旧标准的行是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > //指明该页面使用旧标准,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> //指明该页面使用新标准。
四、总结
XHTML中用 document.documentElement.clientHeight 代替document.body.clientHeight
备注:以上来自 http://www.cnblogs.com/fullhouse/archive/2012/01/05/2313800.html
--------------------------------------------------------------
相关文章推荐
- document.body.clientHeight 和 document.documentElement.clientHeight的区别
- document.body.clientHeight 和 document.documentElement.clientHeight 的区别
- IE/FF/Chrome下document.documentElement和document.body的 scrollHeight/scrollTop/clientHeight 以及判断滚动条是否已拉
- js获取宽度 ,各种高度宽度document.body.clientWidth , document.body.clientHeight,window.screen.width 等等
- javascript中的 document.body.clientHeight 和 document.documentElement.clientHeight 的区别
- document.body.clientHeight = 0 ??
- document.documentElement与document.body clientHeight,scrollHeight,clientWidth,scrollWidth区别
- 文档类型声明对document.body.clientHeight的取值影响
- js获取浏览器基本信息:document.body.clientWidth/clientHeight/scrollWidth/scrollTop。
- document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释
- document.body.clientHeight 和 document.documentElement.clientHeight 的区别
- js获取浏览器基本信息:document.body.clientWidth/clientHeight/scrollWidth/scrollTop。
- js获取浏览器基本信息:document.body.clientWidth/clientHeight/scrollWidth/scrollTop。(转)
- document.body.clientHeight 和 document.documentElement.clientHeight 的区别
- document.body.clientHeight的取值
- [No000068]document.body.clientHeight 和 document.documentElement.clientHeight 的区别
- document.body.clientHeight返回值为0的解决方案
- [JS]document.body.clientHeight的取值(转)
- 不同浏览器对document.documentElement和document.body的scrollheight ,scrollTop,clientHeight以及判断滚动条是否滚动到页面最底部 【转载】
- document.body.clientHeight 和 document.documentElement.clientHeight 的区别