2013-02-15 193 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規範要求的行爲:對溢出事件進行填充不會導致溢出。