超覚え書き。
| border | ||||
| scrollbar | ||||
| padding | ||||
| content | ||||
| ◯ | ◯ | ◯ | ◯ | offsetHeight
|
| ◯ | ◯ | ◯ | ◯ | CSS height/ box-sizing: border-box
|
| - | - | ◯ | ◯ | scrollHeight
|
| - | - | ◯ | ◯ | clientHeight
|
| - | ◯ | - | ◯ | CSS height/ box-sizing: content-box
|
CSS heightにはスクロールバーは含まれるがパディングが含まれないというのが厄介。
だから、JavaScriptからHTMLElement.style.heightを設定して、HTMLElement.clientHeightを読み出すと、パディングがなくてもスクロールバーの分だけ値がズレる(CSS heightの方が大きい)。
つまり、この差がスクロールバーだと分かる。
パディングがある場合はgetComputedStyleを使って上下(あるいは左右)パディングの合計を計算して差し引けばよい。
11 Feb 2026: 新規作成
ご意見・ご要望の送り先は あかもず仮店舗 の末尾をご覧ください。
Copyright (C) 2026 akamoz.jp