offsetWidth 水平方向 width + 左右padding + 左右border
offsetHeight 垂直方向 height + 上下padding + 上下border
clientWidth 水平方向 width + 左右padding
clientHeight 垂直方向 height + 上下padding
offsetTop 获取当前元素到 定位父节点(父相子绝) 的top方向的距离(没有父节点,相对于body)
offsetLeft 获取当前元素到 定位父节点 (父相子绝)的left方向的距离(没有父节点,相对于body)
scrollWidth (兼容)
内部的元素的宽度=内部元素的clientWidth(width+padding)
外部元素的宽度(内部元素宽度没有被挡住)=外部元素的width+3
外部元素的宽度(内部元素宽度被挡住)=(内部元素的宽度+内部元素的内边距+内部元素的外边距+内部元素的边框)内部元素的外盒宽度+外部元素(自己)的内边距(火狐不加自己)
scrollHeight (兼容)
内部的元素的高度=内部元素的clientHeight(height+padding)
外部元素的高度(内部元素高度没有被挡住)=外部元素的height+3
外部元素的高度(内部元素高度被挡住)=(内部元素的高度+内部元素的内边距+内部元素的外边距+内部元素的边框)内部元素的外盒高度+外部元素(自己)的内边距(火狐不加自己)
document.documentElement.scrollTop 返回文档的滚动top方向的距离(当窗口发生滚动时值改变)
document.documentElement.scrollLeft 返回文档的滚动left方向的距离(当窗口发生滚动时值改变)
兼容(用或运算,document.documentElement.scrollTop||document.body.scrollTop)
document.body.scrollTop 返回文档的滚动top方向的距离(当窗口发生滚动时值改变)
document.body.scrollLeft 返回文档的滚动left方向的距离(当窗口发生滚动时值改变)
原文:https://www.cnblogs.com/lactv/p/13961990.html