一.client
所谓占位,就是标签所占的面积
一般是 宽,高,padding,margin,border
执行结果,都是数值,没有px单位,可以直接使用
1.clientWidth的实际宽度
clientWidth = width+左右padding
2.clientHeigh的实际高度
clientHeigh = height + 上下padding
3.clientTop的实际宽度
clientTop = boder.top(上边框的宽度)
4.clientLeft的实际宽度
clientLeft = boder.left(左边框的宽度)
如果需要 获取 右下 只能使用 css样式属性获取
// 获取 右 / 下 边框线数据
console.log( myGetStyle(oDiv , 'borderRightWidth') );
console.log( myGetStyle(oDiv , 'borderBottomWidth') );
// 获取标签css样式的兼容语法函数
// 参数1: 需要获取样式的标签对象
// 参数2: 需要获取样式的属性名称
function myGetStyle(element, style) {
// 如果 浏览器 支持 window.getComputedStyle 执行结果有内容,自动转化为 true
// 如果 浏览器 不支持 window.getComputedStyle 执行结果,为undefined,自动转化为 false
if (window.getComputedStyle) {
// window.getComputedStyle 转化为 true 的情况
// 也就是 浏览器 支持 window.getComputedStyle 可以使用
return window.getComputedStyle(element)[style];
} else {
// window.getComputedStyle 转化为 false 的情况
// 浏览器不支持 window.getComputedStyle 方法 不能使用
return element.currentStyle[style];
}
}
二.offset
1.offsetWidth的实际宽度
offsetWidth = width + 左右padding + 左右boder
2.offsetHeith的实际高度
offsetHeith = height + 上下padding + 上下boder
3.offsetTop实际宽度
offsetTop:当前元素上边框外边缘到最近的已定位父级(offsetParent)上边框内边缘的距离。
4.offsetLeft实际宽度
offsetLeft:当前元素左边框外边缘到最近的已定位父级(offsetParent)左边框内边缘的距离。
找定位父级是谁
如果记不清楚 , console.dir(标签对象) 自己看看就行了
标签没有定位,父级没有定位, 定位父级是 body
标签有定位,父级没有定位
relative ---- body
absolute ---- body
fixed ---- null 视窗窗口
标签有定位,父级也有定位
父级有定位,当前标签是 relative absolute
定位父级是 父级标签
父级有定位,当前标签是 fixed
定位父级是 null 视窗窗口
三.scroll
1.scrollWidth实际宽度
scrollWidth:获取指定标签内容层的真实宽度(可视区域宽度+被隐藏区域宽度)。
2.scrollHeight的实际高度
scrollHeight:获取指定标签内容层的真实高度(可视区域高度+被隐藏区域高度)
3.scrollTop
scrollTop :内容层顶部到可视区域顶部的距离。
实例:
// 兼容获取高度的方式:
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
// 持续获取高度的方式:
window.addEventListener('scroll', ()=>{
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
});
4.scrollLeft
scrollLeft:内容层左端 到 可视区域左端的距离.
四.inner
包括滚动条宽度高度
window.innerWidth
window.innerHeight

Comments | NOTHING