Open
Description
标记的很完善的一张图
补充说明
上面的图已经标记的已经很明显了,我再稍微补充几点:
offsetTop
,offsetLeft
:只读属性。要确定的这两个属性的值,首先得确定元素的offsetParent
。offsetParent
指的是距该元素最近的position
不为static的祖先元素,如果没有则指向body
元素。确定了offsetParent
,offsetLeft
指的是元素左侧偏移offsetParent
的距离,同理offsetTop
指的是上侧偏移的距离。offsetHeight
,offsetWidth
:只读属性。这两个属性返回的是元素的高度或宽度,包括元素的边框、内边距和滚动条。返回值是一个经过四舍五入的整数。如下图:
scrollHeight
,scrollWidth
:只读属性。返回元素内容的整体尺寸,包括元素看不见的部分(需要滚动才能看见的)。返回值包括padding,但不包括margin和border。如下图:
scrollTop
,scrollLeft
:图中已经表示的很明白了。如果元素不能被滚动,则为0。window.innerWidth
,window.innerHeight
:只读。视口(viewport)的尺寸,包含滚动条clientHeight
,clientWidth
:包括padding,但不包括border, margin和滚动条。如下图:
Element.getBoundingClientRect()
:只读,返回浮点值。这个方法非常有用,常用于确定元素相对于视口的位置。该方法会返回一个DOMRect对象,包含left, top, width, height, bottom, right六个属性:left, right, top, bottom
:都是元素(不包括margin)相对于视口的原点(视口的上边界和左边界)的距离。height, width
:元素的整体尺寸,包括被滚动隐藏的部分;padding和border参与计算。另外,heigth=bottom-top, width=right-left
。
Activity
draco1023 commentedon Sep 5, 2016
Mark
zengxiangliang commentedon Sep 5, 2016
good
rocky-191 commentedon Sep 6, 2016
mark
henryluki commentedon Sep 7, 2016
mark
jweboy commentedon Sep 7, 2016
mark
tiyunchen commentedon Oct 23, 2018
mark
Asunny-ren commentedon Jan 30, 2019
mark
printjs commentedon Jan 30, 2019
上图有两个div ,一个是scroll 一个是client 。完全搞不清楚div.scrollTop 指的是哪个div的
coderew commentedon May 4, 2019
为什么图看不到了?
kid1412621 commentedon May 5, 2019
图挂了
yingye commentedon Aug 13, 2019
图看不见了
teachat8 commentedon Aug 18, 2019
图看不见了
Xxxdxs commentedon Oct 31, 2019
老铁, 图呢。
thinkwhys commentedon Nov 15, 2019
????what tu?
miuqiang commentedon Jan 21, 2020
走光图
qingniao99 commentedon Jan 29, 2021
niubility!
coder-klaus commentedon Sep 16, 2021
皇帝的图片
equicy commentedon Dec 7, 2021
图呢
Accelerator97 commentedon Jan 12, 2022
皇帝的图片
equicy commentedon Jan 12, 2022
yydxg commentedon Jul 4, 2023
哈哈哈,图呢