区分视口的尺寸
可以先细看下面这张图片的一些元素的位置,浏览器相对于整个电脑桌面的宽高的区分
一、clientWidth和clientHeigh 、 clientTop和clientLeft
相对于整个浏览器的页面(除去最上面导航栏的位置)的clientWidth和clientHeigh 、 clientTop和clientLeft的位置的区分,求宽高加上padding,求上下的距离加上border的上下距离
1、clientWidth的实际宽度
clientWidth = width+左右padding
2、clientHeigh的实际高度
clientHeigh = height + 上下padding
3、clientTop的实际宽度
clientTop = boder.top(上边框的宽度)
4、clientLeft的实际宽度
clientLeft = boder.left(左边框的宽度)
二、offsetWidth和offsetHight 、 offsetTop和offsetLeft
1、offsetWidth的实际宽度
offsetWidth = width + 左右padding + 左右boder
2、offsetHeith的实际高度
offsetHeith = height + 上下padding + 上下boder
3、offsetTop实际宽度
offsetTop:当前元素 上边框 外边缘 到 最近的已定位父级(offsetParent) 上边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离
4、offsetLeft实际宽度
offsetLeft:当前元素 左边框 外边缘 到 最近的已定位父级(offsetParent) 左边框 内边缘的距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离
三、scrollWidth和scrollHeight 、 scrollTop和scrollLeft
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:内容层左端 到 可视区域左端的距离.
四、clientWidth,offsetWidth,scrollWidth的区别(字节2020校招)
其实这张图片就可以很清晰的看出来区分了,clientWidth和offsetWidth类似,唯一的区别:是否包含边框的宽度,而scrollWidth就是整个大的内容区(包括了被隐藏的内容宽度)