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定位在浏览器文档的左上,右上等方位。