offsetParent
HTMLElement.offsetParent 是一个只读属性,返回一个指向最近的包含该元素的定位元素。
- 如果没有定位的元素,则
offsetParent
为最近的table
,table cell
或根元素(标准模式下为html
;quirks 模式下为body
) - 当元素的
style.display
设置为 “none” 时,offsetParent
返回null
。 offsetParent
很有用,因为offsetTop
和offsetLeft
都是相对于其内边距边界的
1 | parentObj = element.offsetParent; |
兼容性:
- 在 Webkit 中,如果元素为隐藏的(该元素或其祖先元素的
style.display
为 “none”),或者该元素的style.position
被设为 “fixed”,则该属性返回null
。 - 在 IE 9 中,如果该元素的
style.position
被设置为 “fixed”,则该属性返回null
。(display:none
无影响。)
offsetTop
HTMLElement.offsetTop 为只读属性,它返回当前元素相对于其 offsetParent
元素的顶部的距离。
1 | var d = document.getElementById("div1"); |
offsetHeight
HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数。
- 通常,元素的offsetHeight是一种元素CSS高度的衡量标准,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),不包含:before或:after等伪类元素的高度。
- 对于文档的body对象,它包括代替元素的CSS高度线性总含量高。浮动元素的向下延伸内容高度是被忽略的。
1 | 这个属性值会被四舍五入为整数值,如果你需要一个浮点数值,请用 element.getBoundingClientRect(). |
clientHeight
这个属性是只读属性,对于没有定义CSS或者内联布局盒子的元素为0,否则,它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。
clientTop
一个元素上边框的宽度(以像素表示),当没有指定边框厚底时,一般为0。