首页 > Web开发 > 详细

JS中的位置和宽度

时间:2020-04-06 17:39:56      阅读:61      评论:0      收藏:0      [点我收藏+]

元素的宽高

以下所有的宽高,基于元素被加入到DOM渲染树后,也就是被添加在页面中以后,才可以获取

当元素没有滚动条时

元素.clientWidth     

等于元素的width+padding

元素.clientHeight     

等于元素的height+padding

元素.offsetWidth     

等于元素的width+padding+border

元素.offsetHeight    

等于元素的height+padding+border

元素.scrollWidth 

 等于元素的width+padding

元素.scrollHeight   

等于元素的height+padding

当元素有滚动条时

元素.clientWidth     

等于元素的width+padding-17(滚动条宽高)

元素.clientHeight     

等于元素的height+padding-17(滚动条宽高)

元素.offsetWidth     

等于元素的实际占位的宽度

元素.offsetHeight    

等于元素的实际占位的高度

元素.scrollWidth   

 因为内容宽度不同,等于元素的实际内容宽度+padding

元素.scrollHeight   

因为内容高度不同,等于元素的实际内容高度+padding

body,HTML的宽高

document.body.clientWidth,document.body.clientHeight   (body的clientHeight  和clientWidth )

页面宽度-16(默认8个像素的宽度)   高度0(因为没有内容)如果有内容会撑开

document.body.offsetWidth,document.body.offsetHeight(body的offsetWidth和offsetHeight)

与body的clientWidth、clientHeight相同

document.body.scrollWidth,document.body.scrollHeight(body的scrollWidth和scrollHeight)

没有内容时和body的clientWidth相同,有内容,内容撑开的宽高,和clientHeight相同,是内容宽高

document.documentElement.clientWidth,document.documentElement.clientHeight(HTML的clientHeight  和clientWidth)

获取页面的可视宽高  ,并不会因为内容变大而撑开

document.documentElement.offsetWidth,document.documentElement.offsetHeight(HTML的offsetHeight和offsetWidth)

获取页面的可视宽度,html的高度是body内容高度+bodyMargin

document.documentElement.scrollWidth,document.documentElement.scrollHeight(HTML的scrollWidth和scrollHeight)

如果没有body没有高度,则是可视宽高
如果body有宽高,不超过可视宽高,则是可视宽高
如果body的宽高超出可视范围,则是body宽高+margin(宽度+margin,高度+margin*2)

元素的位置属性

元素.clientLeft,元素.clientTop       

等于元素的border

元素.offsetLeft,元素.offsetTop      

没有定位时,相对页面的左上顶角位置
如果定位 相对父容器左上角位置  和css中left,top相同

元素.scrollLeft,元素.scrollTop

元素上的滚动条位置
 

body,HTML的位置属性

document.body.clientLeft,document.body.clientTop

document.documentElement.clientLeft,document.documentElement.clientTop

body 和 html没有边线,所有这两个值都是0

document.body.offsetLeft,document.body.offsetTop

document.documentElement.offsetLeft,document.documentElement.offsetTop

 因为body和html标签都是最顶端,最外层,这两个值都是0

document.documentElement.scrollLeft,document.documentElement.scrollTop

window的滚动条是document.documentElement的scrollTop
window窗口的滚动条位置获取和设置可以通过document.documentElement.scrollLeft,document.documentElement.scrollTop来实现

 

JS中的位置和宽度

原文:https://www.cnblogs.com/limengbo2020/p/12642946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!