为何scrollHeight、clientHeight与offsetHeight返回值完全相同?
别再搞混!scrollHeight、clientHeight、offsetHeight的区别
刚在Stack Overflow上看到个很实用的回答,正好帮大家理清这三个经常搞混的DOM高度属性:
scrollHeight:这个属性测的是元素内容的总高度——哪怕内容太多溢出屏幕、被滚动隐藏起来的部分,全都会算进去。就好比你把元素里所有内容都展开铺平,量出来的那个完整高度~
clientHeight:它返回的是元素的内部可用高度,单位是像素。划重点:这个值包含元素的内边距(padding),但绝对不包括水平滚动条的高度、边框(border)和外边距(margin)。说白了就是元素内部能直接放内容的那块区域的高度。
offsetHeight:这个的测量范围就全乎多了,它包含元素的边框(border)、垂直方向的内边距(padding),如果元素有水平滚动条,那滚动条的高度也会算进去,再加上元素本身的可见内容高度——简单说就是你肉眼看到的整个元素的“占位高度”,从边框最顶端到最底端的总距离。
内容的提问来源于stack exchange,提问作者DR01D
相关产品推荐
相关产品推荐

