在这里,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 的 padding 时,减少 bottom padding 和 scrollHeight。
这是一个错误吗?这个“错误”是否有修复?
最佳答案
Firefox 的行为是 CSS 规范所要求的:填充溢出的东西本身不会导致溢出。
关于html - 带有填充和溢出的 div 上 firefox 中 scrollHeight 的奇怪行为 :auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14899676/