1日目から私にとって謎だった。それはまだあります。それを明らかにする時が来た。そこでtest pageを作成しました。変更できる範囲はdiv
です。関連するプロパティの値を表示する情報パネル。シンプルさのためにChromeを使ってみましょう。htmlページのディメンションを理解するにはどうすればよいですか?
デフォルトbody
マージンが8px
です。 html
の背景は青、body
の緑色、div
は赤色です。そして、ここではhtml
のoffsetHeight
がbody.offsetHeight + 2 * body.margin
に等しいことがわかります。まるでそれがちょうどbody
を包むかのようです。しかし、html.clientHeight
== window.innerHeight
は、ビューポートを埋めるように引き伸ばされているかのようです。
今度は、(div
年代幅1000px
を作る)水平スクロールバーを追加してみましょう、と右に少しスクロール:左へ
html
とbody
動きます。 body
のscrollLeft
は、スクロールバーを所有しているかのようにwindow.pageXOffset
と同期して変化します。追加されたスクロールバーのためhtml
のclientHeight
が変更されました。
はのは、それを他の方法で回避(垂直スクロールバーを)やってみましょう:
今両方html
のエクステントが(offsetWidth
とclientWidth
)に変更しました。これはスクロールバーを所有していないことを示唆しています。
そして最後に、両方のスクロールバーで:
さて、この時点で物事が私にclear多かれ少なかれです。少なくとも私たちはChromeを検討している限りです。しかし、まだ私が知りたいことがいくつかあります。 html
のclientHeight
はおそらくoffsetHeight
、その後以下とすることができるどのように来る
? 「それだけです」よりも良い説明はありますか?
なぜ
body
のscrollLeft
/scrollTop
がページをスクロールすると変更されますか?スクロールバーは所有していませんか?
また、いくつかの要約があります。