window.outerHeight/window.outerWidth 浏览器外层(整体)宽高值
window.innerHeight/window.innerWidth 浏览器内层(WebView)宽高值
(window.)screen.height/(window.)screen.width 屏幕(整体)分辨率宽高值
(window.)screen.availHeight/(window.)screen.availWidth 屏幕(除去任务栏)分辨率宽高值
window.screenTop/window.screenLeft 浏览器外层(整体)相对于屏幕上端和左端的距离
element.clientHeight/element.clientWidth 元素内部宽高值(包含padding),不包括scroll、border、margin
element.clientLeft/element.clientTop 元素border宽高值(包括滚动条的宽度)
element.offsetHeight/element.offsetWidth 元素contnet、padding、scroll、border宽高值总和
element.offsetLeft/element.offsetTop 当前元素左上角相对于 HTMLElement.offsetParent 节点的左/上边界偏移的像素值
offsetParent 有两种情况:
如果当前元素的父级元素没有进行CSS定位(position为absolute或relative),offsetParent为body.
假如当前元素的父级元素中有CSS定位,offsetParent取最近的那个父级元素。
document.body.scrollWidth/document.body.scrollHeight
给定body宽高 < 浏览器窗口时:
scrollWidth = 浏览器窗口宽度
scrollHeight = 浏览器窗口高度给定body宽高大于浏览器窗口,且内容小于给定body宽高时:
scrollWidth = 给定的宽度 + body所有padding + body所有margin + body所有border
scrollHeight = 给定的高度 + body所有padding + body所有margin + body所有border给定body宽高大于浏览器窗口,且内容大于给定窗口时:
scrollWidth = 内容的宽度 + body所有padding + body所有margin + body所有border
scrollHeight = 内容的高度 + body所有padding + body所有margin + body所有border
element.scrollWidth和element.scrollHeight
当无滚动条时:
scrollWidth = clientWidth = 元素宽度 + padding
scrollHeight = clientHeight = 元素高度 + padding当有滚动条时:
scrollWidth = 实际内容的宽度 + padding
scrollHeight = 实际内容的高度 + padding
element.scrollTop及element.scrollLeft
这对属性是可读写
指的是滚动的距离
写入也可用 element.scrollTo(x,y)
window.scrollY及window.scrollX
window.scrollY 文档从顶部开始滚动过的像素值 / window.scrollX 文档从左侧开始滚动的像素值。
event中的五种坐标element.getBoundingClientRect() IE9兼容 获取距离屏幕位置