這個問題是關係到這兩個:
1. css - applying padding to box with scroll, bottom-padding doesn't work
2. Bottom padding not working on overflow element in non-chrome browsers填充底在Firefox和IE被忽略外溢元素沒有內容
但我沒有發現任何地方,爲什麼它發生了,也就是說,爲什麼在Chrome(31)和Opera(18)中出現了填充,而在Firefox(26)和IE(9-10)中則沒有。
這裏是我的測試案例:
http://jsfiddle.net/eW39h/4/
從相關的問題#1一個簡單的例子:
http://jsfiddle.net/rwgZu/
<div id="container">
<div id="innerBox"></div>
</div>
#container {
padding: 3em;
overflow-x: hidden;
overflow-y: auto;
width: 300px;
height: 300px;
background: red;
}
#innerBox{
height: 400px;
background: #000;
}
我真的不想找一個解決方法,而是要了解什麼恰恰是正確的實現(以及哪些瀏覽器錯誤:-))。
編輯2013年12月18日
基於由Marc Audet答案,我挖成的規格,並提出了新的測試用例。
http://jsfiddle.net/rwgZu/79/
這是明顯的是,所有的瀏覽器夾四溢框在同一點,這是填充邊緣」,這確實是按照該規範:
每當發生溢出, 「溢出」屬性指定一個框是否被剪輯到其填充邊緣
而且是,在Chrome中有內盒後微胖。
有趣雖然,加內盒內部溢出的內容會導致統一的結果,在所有瀏覽器:
http://jsfiddle.net/uPY8j/1/
我無法在規格找到這種類型的條件規則,所以我要離開的問題仍現在開放。
我報這個不兼容上游的CSS工作組:https://github.com/w3c/csswg-drafts/issues/129#issue-156060453 –
@BenCreasy好東西,很高興它終於有助於一些有用的東西 –