この例をhttp://jsfiddle.net/drulia/34TKp/にしました
基本的にborder
、border-box
js scrollHeight と組み合わせるたびに、1px 大きくなると思われます。例でわかるように、親要素には高さが設定されていませんoverflow:auto;
。何らかの理由でスクロールバーが表示されることを視覚的に示すためだけです。
border-top
またはをコメントしようとすると、スクロールバーが消えてと等しくなることにbox-sizing
気付くでしょう。offsetHeight
scrollheight
それは本当に私を夢中にさせており、これまでのところ、この問題の原因となっているcssプロパティを見つけてうれしく思いますが、誰かがなぜ物事が起こるのかを知っているのではないかと興味がありますか? これは FF、Chrome、および IE10 で発生します。たとえば、FF の接頭辞付きのボックス サイズを含めませんでした。
アップデート
明確にするために-との組み合わせがこの問題box-sizing
を引き起こす理由を尋ねていますか? border
私は何か間違ったことをしているのですか、それともバグがあるのですか、それともこれは予想される動作であると思われますが、これは非常に疑わしいです。
オーバーフロー プロパティの変更、境界線の削除などの簡単な修正については知っています。