【发布时间】:2018-10-07 07:54:45
【问题描述】:
我有两个垂直框,两个都有height: auto,如果内容超过父级定义的最大高度,第二个需要滚动。
.wrapper {
position: fixed;
}
.popup {
position: fixed;
width: 200px;
max-height: 300px;
display: flex;
flex-direction: column;
border: 1px solid black;
}
.a {
left: 0
}
.b {
left: 200px;
}
.header {
flex: 0 0 auto;
border: 2px solid green;
}
.body {
flex: 1 1 auto;
overflow: auto;
}
<div class="wrapper">
<div class="popup a">
<div class="header">
first popup
</div>
<div class="body">
"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas
sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora
incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea
voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"
</div>
</div>
<div class="popup b">
<div class="header">
second <br> popup
</div>
<div class="body">
"Sed ut perspiciatis unde omnis istiam, eaqcabo. Nemo enim ipsam voluptatem quia voluptas
</div>
</div>
</div>
除了在溢出的容器不滚动的 IE11 中,一切都很好。
有什么方法可以在 IE11 和现代浏览器上实现这种精确的行为?
PS:如果我能够为标题定义一个高度,会有一个解决方案吗?
【问题讨论】:
-
我真的应该进入它给你一个明确的答案,但是 IE 中的 flexbox 充满了错误。列表请参考caniuse
-
@giorgio 我知道,但相信我,支持它并不是我真正的选择
标签: html css flexbox internet-explorer-11