clientHeight
一个元素的 clientHeight 包括:context + padding,不包括:border + margin + 横向滚动条的高度(17px)。 clientHeight 包括这个元素的伪元素(::before / ::after)高度。 若该元素没有滚动条,则: clientHeight === scrollHeight
offsetHeight
一个元素的 offsetHeight 包括:context + padding + border + scroll bar(滚动条高度)。
scrollHeight
一个元素能够展示其所有内容所需要的最小高度,是元素整个的content + padding的高度,不包括border。如果元素内容超过可视区域,可以想象成将整个元素撑开的高度。
计算公式:
el.scrollHeight - el.scrollTop === el.clientHeight
节点计算属性
1:offsetParent:获取元素的最近的具有定位属性(absolute或者relative)的父级元素。如果都没有则返回body。
2:offsetLeft:获取元素相对具有定位属性的父级元素的左侧偏移距离。(子元素的marginLeft + left + 父元素的paddingLeft)
3:offsetTop:获取元素相对就有定位属性的父级元素的顶部偏移距离。(子元素的marginTop + top + 父元素的paddingTop)
4:scrollLeft/scrollTop:滚动条最顶端和窗口中可见内容的最顶端之间的距离。
6:clientWidth/clientHeight:元素视窗宽度/高度。
5:offsetWidth/offsetHeight:元素实际宽度/高度。
6:scrollWidth/scrollHeight:获取对象的滚动宽度/高度。