2013-02-15 192 views
1

这,http://jsfiddle.net/YNKws/奇怪的行为对与填充和溢出DIV:汽车

<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); 
} 

有格与填充和溢出:汽车。而在Firefox中,div的scrollHeight值有奇怪的行为。当我们将div的高度设置为小于原始高度时,很自然地期望滚动条立即出现,并且scrollHeight值保持不变。 Chrome适合这些expecatations但不是Firefox,最后一个不绘制滚动条,当原始高度的偏差小于div的填充时,减少底部填充和scrollHeight。

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

回答

1

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