<div class="box">
<div class="A">A</div>
<div class="B">B</div>
<div class="C">C</div>
</div>
Run Code Online (Sandbox Code Playgroud)

A和B的身高怎么样?它是固定的还是因内容或其他原因而异?
A里面内容的高度不会改变,但是B里面内容的高度会改变。.box高度应等于 max(height A , height B + C )
您的结果在概念上很简单,但您需要使用超过 3 个连续元素来完成您想要的。Flex box 是蜜蜂的膝盖,但它不能神奇地改变你的布局。您需要一个单独的子布局。
HTML
<div class="box flex">
<div class="a">A</div>
<div class="b-c flex column">
<div class="b">B</div>
<div class="c"></div>
</div>
<div>
Run Code Online (Sandbox Code Playgroud)
CSS
.box {
display: flex;
align-items: stretch;
width: 100vw;
}
.a {
flex: 0 0 150px;
}
.b-c {
flex-direction: column;
display: flex;
flex-grow: 1;
}
Run Code Online (Sandbox Code Playgroud)