元素内容+padding
大小
元素内容+padding+border
border-top-width
和 border-left-width
relative
、
absolute
) 祖先元素,递归上溯,如果没有祖先元素是定位的话,会返回 null
审查上面 demo 可以得到:
clientHeight 就是 #client-offset
的 height(200px)+上下padding(10px*2)
clientWidth 同理, 是 #client-offset
的 width(200px)+左右padding(10px*2)
clientLeft和ClientTop 即为 #client-height
的 border-left-width
(3px) 和 border-top-width
(3px)
offsetHeight 是 clientHeight(220px)+上下border(3px*2)
offsetWidth 同理, 是 clientWidth(220px)+左右border(3px*2)
offsetTop 是 #client-offset.margin-top(30px) + offsetParent.padding-top(8px)
offsetLeft 同理 #client-offset.margin-top(30px) + offsetParent.padding-top(8px)
内容区域 + padding + 溢出尺寸
clientWidth和clientHeight
相等 在 FireFox 和 IE10 下得到结果 scrollHeight: 494px
,而在 Chrome 和 Safari 下得到结果 scrollHeight: 502px
,差了 8px,这是因为 FireFox 和 IE10 没有计算 padding-bottom, 可以按照下面步骤计算来验证:
#scroll-child
的 height(400px) + 上下padding(10px*2) + 上下border(3px*2) + 上下margin(30px*2)
, 总计为 486px
494 = 486+8
, 592=486+8*2
, 494 看起来好像是计算了一个 padding padding-bottom