布局:
有一个容器可以填充窗口高度的100%。在其中有两个.parent
框(红色填充),其中包含.child
个元素(黄色填充)。子元素设置了min-height
和max-height
。
html,
body {
height: 100%;
margin: 0;
}
.container {
display: grid;
height: 100%;
gap: 20px;
}
.parent {
background: #f00;
}
.nested {
display: flex;
flex-direction: column;
height: 100%;
}
.child {
height: 100%;
min-height: 100px;
max-height: 150px;
background: #ff0;
}
.another-child {
flex: none;
height: 50px;
background: #0f0;
}
<div class="container">
<div class="parent">
<div class="child"></div>
</div>
<div class="parent">
<div class="nested">
<div class="another-child"></div>
<div class="child"></div>
</div>
</div>
</div>
目标:
.parent
框仅在子元素max-height
内垂直增长,直到.container
内有空间,然后缩小到min-height
。父块红色背景应该不可见。