【发布时间】:2021-12-27 12:19:59
【问题描述】:
我仍然很难理解元素如何选择它们的包含块,相对于它们的相对值,例如height 被评估。
body {
margin: 0;
}
.outer {
min-height: 200px;
background: red;
overflow: hidden;
}
.inner {
height: 100%;
background: green;
}
<div class="outer">
Hello,
<div class="inner">world!</div>
</div>
这里的外部容器只有一个最小高度集,这显然不足以将自己断言为包含块,即使溢出隐藏。
我的理解是,不隐藏溢出,存在循环依赖,因为当子大于 200 px 时,父大小取决于子大小,但隐藏溢出,循环依赖应该消失。
更奇怪的是,当我将 body 设置为显示 flex 时,它又开始“工作”了。
body {
display: flex;
flex-direction: column;
height: 100vh;
margin: 0;
}
.outer {
min-height: 200px;
background: red;
overflow: hidden;
}
.inner {
height: 100%;
background: green;
}
<div class="outer">
Hello,
<div class="inner">world!</div>
</div>
这背后的逻辑是什么?
【问题讨论】:
-
这里的外部容器只有一个最小高度集,这显然不足以建立一个 BFC,即使溢出隐藏。 --> 是什么让你想到那里没有BFC吗?它确实创建了一个 BFC
-
我认为您混淆了两个正交特征。 BFC和百分比高度之间没有关系
-
对不起,是的,这是真的!我认为 BFC 是与百分比值相比的值。
-
我将它从 BFC 更改为包含块,我希望这是正确的术语吗?
标签: css