Internet Explorer 不会使用 flex-direction: 列扩展 flexbox [英] Internet Explorer doesn't expand a flexbox with flex-direction: column
问题描述
我正在尝试创建一个带有静态标题和正文的容器,该正文根据其内容扩展到最大高度.达到最大高度后,主体应滚动.我编写的代码在 Chrome/Firefox 中运行良好,但在 IE 中,容器无法正确扩展.
div{边框:1px 实心#DDD;}.容器{最大高度:150px;显示:弹性;弹性方向:列;}.header{高度:40px;}.滚动{弹性:1;溢出:自动;}
<div class="header">标题<div class="scroll"><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div>
如果我使用 flex-direction: row;
代替,高度会适当扩展,但显然我的标题看起来不正确.
是否有一种解决方法可以使带有标题和滚动正文的不断增长的容器与 IE11 和 Edge 一起使用?如有必要,我不反对放弃 flexbox.
看来这段代码在 Chrome、Firefox 和 Edge 中按预期工作.问题似乎是 IE11.
这是一种似乎适用于所有四种浏览器的解决方案:
- 使
body
元素成为一个弹性容器. - 对原始代码做一个调整(添加
width: 100%
).
html {高度:100%;}身体 {显示:弹性;高度:100%;边距:0;}.容器 {最大高度:150px;显示:弹性;弹性方向:列;宽度:100%;/* 调整 */}.header {高度:40px;}.滚动{弹性:1;溢出:自动;}div {边框:1px 实心#DDD;}
<div class="header">标题<div class="scroll"><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div><div>滚动</div>