【发布时间】:2018-08-28 03:58:38
【问题描述】:
我有两个 div:
- 顶部 div 包含占据多行的长文本
- 较低的 div 有
min-height和flex-grow: 1
当我将窗口缩小到滚动出现时,Chrome 中的所有内容都会正确显示。但是在 IE11 中 top div 被缩减为一行,并且它的文本在底部 div 的顶部。
我只能通过为顶部 div 的内容设置一些宽度来修复它(它适用于固定宽度或计算宽度,但不适用于百分比宽度)
如何在不设置宽度或百分比宽度的情况下修复它(width:100%)?
body,
html {
height: 99%;
padding: 0;
margin: 0;
}
.flexcontainer {
width: 25%;
display: flex;
flex-direction: column;
height: 100%;
border: 1px solid lime;
}
.allspace {
flex-grow: 1;
min-height: 300px;
background-color: yellow;
}
.longtext {
background-color: red;
}
.textcontainer {
border: 1px solid magenta;
/*IE work correctly only when specified width. by example: width:calc(25vw - 2px);*/
}
<div class="flexcontainer">
<div class="longtext">
section 1 with long name section 1 with long name section 1 with long name
</div>
<div class="allspace">
all space
</div>
</div>
jsfiddle:https://jsfiddle.net/tkuu28gs/14/
铬:
IE11:
【问题讨论】:
-
你试过用'height'代替'min-height'吗? IE11 在子元素上同时使用 display: flex 和 min-height 时出现问题。
-
在ie11中,子div的固定高度也没有指定子div的高度也产生了问题
-
遇到了类似的问题。但是我的孩子 flex 项目也有嵌套元素,它们也是 flex。修复只是在内部子元素上设置一个高度。如果你忘记了高度,事情就会变得一团糟:)
标签: html css flexbox internet-explorer-11