要素オブジェクトのプロパティを取得

const targetElem = document.querySelector('box');
targetElem.clientTop; // 数値を出力する

取得できるプロパティの内、要素の位置関係を示すのは以下の通りです。

  • 左から
    • clientLeft
    • offsetLeft
    • scrollLeft
  • 上から
    • clientTop
    • offsetTop
    • scrollTop
    • clientWidth
    • offsetWidth
    • scrollWidth
  • 高さ
    • clientHeight
    • offsetHeight
    • scrollHeight

そして、clientとoffsetとscrollの違いは次の通りです。

Left・Topプロパティ

clientoffsetscroll
:rootのmarginを含むかNoNoNo
:rootのborderを含むかNoYesNo
:rootのpaddingを含むかNoNoNo
自身のスクロール量を含むかNoNoYes
自身のmarginを含むかNoYesNo
自身のborderを含むかYesYesNo
自身のpaddingを含むかNoNoNo

CSSのpositionがabsoluteかfixed

clientoffsetscroll
ビューポートからのオフセットを含むかNoYesNo
自身のスクロール量を含むかNoNoYes
自身のmarginを含むかNoYesNo
自身のborderを含むかYesYesNo
自身のpaddingを含むかNoNoNo

Width・Heightプロパティ

clientoffsetscroll
自身のスクロール量を含むかNoNoYes
自身のmarginを含むかNoNoNo
自身のborderを含むかNoYesNo
自身のpaddingを含むかYesYesYes