在带有填充和溢出的div上的firefox中scrollHeight的奇怪行为:auto

时间:2013-02-15 17:03:41

标签: html firefox scrollbar padding

这是http://jsfiddle.net/YNKws/

<div id="div1" style="padding: 2px; overflow: auto;">
  <div style="height:30px;">lalala</div>
  <div style="height:30px;">lalala</div>
</div>

var d = $("#div1");
for (var i = 0; i < 5; i++) {
  console.log(d.height(),d[0].scrollHeight);
  d.height(d.height() - 1);
}

有填充和溢出的div:auto。在firefox中,div的scrollHeight值有奇怪的行为。当我们将div的高度设置为小于其原始高度时,可以预期滚动条会立即出现并且scrollHeight值保持不变。 Chrome适合但不适用于firefox,最后一个不会绘制滚动条,当原始高度的偏差小于div的填充时,会减少底部填充和scrollHeight。

这是一个错误,是否有这个'错误'的修复?

1 个答案:

答案 0 :(得分:2)

Firefox的行为是CSS规范所要求的:对溢出事物进行填充不会导致溢出。