代码优先:
html {
display:flex;
width:100%;
height:100%;
}
body {
display:flex;
flex:1;
}
.container {
display:flex;
flex:1;
overflow-y:auto;
flex-direction:column;
justify-content:center;
align-items:center;
}
.block1 {
justify-content:center;
background-color:green;
display:flex;
width:300px;
min-height:150px;
}
.block2 {
background-color:blue;
display:flex;
min-height:300px;
width:500px;
}
<div class="container">
<div class="block1">
<img src="https://tse2.mm.bing.net/th?id=OIP.M252f960f4a4f32c22914d8d87623f066o0&pid=15.1">
</div>
<div class="block2"></div>
</div>
我在一个容器中有两个块,想让它们居中显示在屏幕上。
问题是当屏幕高度较小时,会出现滚动条,但第一个块的一部分会超出屏幕(不可见)。
要重现此问题,请减小 jsfiddle 预览窗口的高度。你会明白我的意思,超出屏幕。
期望的行为是让滚动条出现并保持 div 可见。
我已尝试在每个元素上设置 flex-shrink 为 0,但它没有起作用...