我遇到了什麼似乎是一個非常具體的錯誤在IE9佈局渲染,其中box-sizing: border-box
和min-height
的div的高度計算不正確,當內容是調整大小。IE9錯誤計算DOM更新的最小高度與溢出設置
考慮下面的標記和CSS:
<div class="constrained">
<div class="content">Content</div>
</div>
* { box-sizing: border-box; }
.constrained {
border: 1px solid blue;
min-height: 300px;
padding: 10px;
overflow-x: auto;
}
的div.constrained
在適當高度300像素(278px內部高度),頁面加載時呈現。當通過JavaScript將新內容注入div.content
時,div.constrained
容器增長到322px高度,就好像不再應用框尺寸。
的jsfiddle示範: http://jsfiddle.net/eafztwb2/16/
這僅與auto
,visible
或scroll
溢出值,就會發生。將overflow-x
設置爲hidden
或inherit
(只要繼承不會最終評估爲前者)就不會顯示問題。
這不是一個問題,而是知識共享,但我會對解決方案感興趣,同時仍然允許overflow-x: auto
。
這並解決不正確調整大小,但它引入了當添加更多的內容是約束DIV不會增長的另一個問題。 – timbonicus
@timbonicus對不起,'0'不適合使用。使用'100%'代替會產生更好的結果。 – Sampson