【发布时间】:2013-12-15 07:23:29
【问题描述】:
考虑以下小提琴:http://fiddle.jshell.net/du8Ws/
目的是在第一个 div(蓝色)的大小发生变化时调整底部 div(红色)的大小以消耗剩余的垂直空间。
在 chrome 或 IE11 中运行时,观察如果用户单击切换大小按钮,蓝色 div 会改变大小,红色 div 会相应改变大小,这样蓝色、绿色和红色 div 都包含在同一个高度(等于粉红色的 div 高度供参考)。
在 IE9 或 IE10 中运行时,红色 div 的高度将比它应该的高出等于蓝色 div 的高度。
如何改变这一点,使其在 IE9 和 IE10 中的工作方式与仅使用 css(没有 javascript!)在 Chrome 中的工作方式相同?
请注意,红色 div 的高度必须不为零。
pstenstrm 提供了一个很好的解决方案,看起来可以正确显示,但是在这种情况下,红色 div 的实际高度等于其子级(文本),而不是其父级的剩余可用空间,而内部和外部高度占用更多空间(由于填充/边距)。我打算在这个红色 div 中嵌入一个控件,它要求高度正确。
谢谢!
【问题讨论】:
标签: css internet-explorer cross-browser internet-explorer-9 internet-explorer-10