1. 程式人生 > >clientHeight,offsetHeight,scrollHeight,offsetTop,scrollTop之間的區別

clientHeight,offsetHeight,scrollHeight,offsetTop,scrollTop之間的區別

clientHeight,offsetHeight,scrollHeight,offsetTop,scrollTop之間的區別

clientHeight和offsetHeight屬性和元素的滾動、位置沒有關係

  • clientHeight:包含元素的width + padding,不包含border,不包含橫向的滾動條,對於行內元素,clientHeight的數值為0.
  • offsetHeight:包括元素的width + padding + border + 水平滾動條,但不包括margin的元素的高度。對於inline的元素這個屬性一直是0,單位px,只讀元素。
  • offsetTop:當前元素頂部父級元素頂部的距離,
    這裡寫圖片描述

    這裡寫圖片描述
    這裡寫圖片描述

保證在有滾動條的情況下:

  • scrollHeight,當出現滾動條的時候,scrollHeight代表的是在滾動的過程中,被隱藏的元素的高度,不可見元素的高度,可見元素的高度是clientHeight,所以有滾動條的時候對於scrollHeight >= clientHeight恆成立。沒有滾動條的時候 scrollHeight == clientHeight成立。
  • scrollTop:滾動條向下滾動的距離也就是元素頂部被遮住部分的高度,沒有滾動條的時候,scrollTop == 0,
    這裡寫圖片描述
    這裡寫圖片描述