clientWidth、offsetWidth、scrollWidth、innerWidth的区别详解

clientWidth和clientHeigh、clientTop和clientLeft

实际高度:

clientWidth = width + 左右 padding
clientHeigh = height +上下 padding
clientTop = boder.top (上边框的宽度)
clientLeft = boder.left (左边框的宽度)

offsetWidth和offsetHight、offsetTop和offsetLeft

实际高度:

offsetWidth = width + 左右 padding + 左右 boder
offsetHeith = height +上下 padding + 上下 boder
offsetTop:当前元素上边框外边缘到最近的已定位父级 (offsetParent) 上边框内边缘的距离。如果父级都没有定位,则分别是到 body 顶部和左边的距离
offsetLeft:当前元素左边框外边缘到最近的已定位父级 (offsetParent) 左边框内边缘的距离。如果父级都没有定位,则分别是到 body 顶部和左边的距离

scrollWidth和scrollHeight 、 scrollTop和scrollLeft

实际高度:

scrollWidth:获取指定标签内容层的真实宽度(可视区域宽度 + 被隐藏区域宽度)
scrollHeight:获取指定标签内容层的真实高度(可视区域高度 + 被隐藏区域高度)
scrollTop:内容层顶部可视区域顶部的距离
scrollLeft:内容层左端可视区域左端的距离

例:
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
持续获取高度的方式:
window.addEventListener(‘scroll’, () => {
var scrollTop = document.documentElement.scrollTop || window.pageYOffset ||
document.body.scrollTop;
});

innerWidth和innerHeight

innerWidth:浏览器窗口可视区宽度(不包括浏览器控制台、菜单栏、工具栏)
innerHeight:浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏)

offsetParent

offsetParent 属性返回一个对象的引用,这个对象是距离调用 offsetParent 元素最近的(在包含层次中最靠近的),并且是已经进行过CSS定位的容器元素。
即:
1、如果当前元素的父级元素没有进行CSS定位 ( position 为 absolute 或 relative ),offsetParent 为 body。
2、如果当前元素的父级元素中有CSS定位 ( position 为 absolute 或 relative ),offsetParent 取最近的那个父级元素。

如何获取网页高度、屏幕高度、滚动高度?
参考:https://blog.csdn.net/qq_44731369/article/details/113352678

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值