Javascript:

document.body 返回时<body></body>

document.documentElement返回的是 <html></html>

两者使用一般用于获取scrollTop,

document.body.scrollTop 的值一看,一直都是 0。一翻折腾,原来是 DTD 的问题,要是页面直接用 <html> 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。

如果有 DTD 时用,那就用 document.documentElement.scrollTop 代替 document.body.scrollTop 就可以了

一般情况下:兼容性写法如下:

 var w = document.documentElement.scrollTop || document.body.scrollTop


document.body.clientWidth ==> BODY可视宽度(不包含border,水平滚动条,margin)
document.body.clientHeight ==> BODY可视高度(不包含border,水平滚动条,margin)
document.documentElement.clientWidth ==> html可视宽度(不包含border,水平滚动条,margin)
document.documentElement.clientHeight ==> html可视高度(不包含border,水平滚动条,margin)

如果页面指定了 DOCTYPE,就是用document.documentElement.来获取,如果不指定 DOCTYPE,就用document.body 获取

document.body.clientWidth      //网页可见区域宽(body)

document.body.clientHeight       //网页可见区域高(body)

document.body.offsetWidth       //网页可见区域宽(body),包括border、margin等

alert(document.body.offsetHeight);      //网页可见区域宽(body),包括border、margin等

document.body.scrollWidth       //网页正文全文宽,可见宽度+隐藏宽度,页面会滚动,该属性才具有意义,如果不滚动,那么document.body.scrollWidth = document.body.clientHeight

document.body.scrollHeight      //网页正文全文高,可见高度+隐藏高度

document.body.scrollTop | document.documentElement.scrollTop         //网页被卷去的Top(滚动条)

document.body.scrollLef |  document.documentElement.scrollLef          //网页被卷去的Left(滚动条)

document.getElementById("box").offsetTop  // 该元素相对最近父级元素顶部的距离

window.screenTop                  //浏览器距离屏幕顶部的距离Top

window.screenLeft                    //浏览器距离屏幕左侧的距离Left

window.screen.height               //屏幕分辨率的高

window.screen.width                //屏幕分辨率的宽

window.screen.availHeight          //屏幕可用工作区的高

window.screen.availWidth          //屏幕可用工作区的宽

Jquery

alert($(window).height());                           //浏览器当前窗口可视区域高度

alert($(document).height());                        //浏览器当前窗口文档的高度

alert($(document.body).height());                //浏览器当前窗口文档body的高度

alert($(document.body).outerHeight(true));  //浏览器当前窗口文档body的总高度 包括border padding margin

alert($(window).width());                            //浏览器当前窗口可视区域宽度

alert($(document).width());                        //浏览器当前窗口文档对象宽度

alert($(document.body).width());                //浏览器当前窗口文档body的宽度

alert($(document.body).outerWidth(true));  //浏览器当前窗口文档body的总宽度 包括border padding margin

jquery获取html元素的绝对位置坐标和相对父元素的位置坐标方法:
绝对位置坐标:
$("#elem").offset().top
$("#elem").offset().left
相对父元素的位置坐标:
$("#elem").position().top
$("#elem").position().left

另:
static(默认):默认定位方式。
relative(相对定位):在static的基础上,相对元素本来的位置变化,通过设定top,bottom,left,right实现。
absolute(绝对定位):是相对父元素来说的,如果父元素中有relative,那么该元素的位置是经过计算后的结果。即absolute定位的参照物是“上一个定位过的父元素(static不算)”。绝对定位会使元素从文档流中被删除
fixed(固定定位):fixed定位的参照物总是当前的文档。利用fixed定位,很容易让一个div定位在浏览器文档的左上,右上等方位。