更新:我不相信这是一个重复的问题。虽然灵活内容的隐含最小尺寸可能会导致问题,但我仍然很好奇为什么我在Chrome和Firefox中获得了不同的结果。
我正在使用嵌套的flexbox工作项目,其中一个嵌套的div具有溢出的内容并且应该滚动。我在Chrome和Safari中按预期工作,但Firefox和Edge的行为都不同。
这里是jsFiddle:https://jsfiddle.net/e3p6xk0L/4/
此外,这里是代码/示例内联
body {
padding: 0px;
margin: 0px;
}
div {
box-sizing: border-box;
}
.container {
display: flex;
flex-direction: column;
height: 100vh;
background: blue;
position: relative;
}
.top {
flex-basis: 40px;
background: purple;
}
.middle {
display: flex;
flex: 1;
background: orange;
}
.bottom {
flex-basis: 40px;
background: yellow;
}
.left {
flex-basis: 20px;
background: green;
}
.center {
flex: 1;
background: red;
}
.right {
flex-basis: 200px;
background: orange;
overflow-x: hidden;
overflow-y: auto;
padding: 10px;
}
.right-content {
height: 1000px;
background: gray;
}

<div class='container'>
<div class='top'>
</div>
<div class='middle'>
<div class='left'>
</div>
<div class='center'>
</div>
<div class='right'>
<div class='right-content'>
</div>
</div>
</div>
<div class='bottom'>
</div>
</div>
&#13;
基本上,顶部应始终有一个固定高度的紫色条,底部应有一个固定高度的黄色条。溢出右侧div的灰色内容应该只导致右侧div滚动。
有没有人看到任何明显我做错的事情?