【发布时间】:2021-11-05 09:33:49
【问题描述】:
这里是三个html css代码
https://jsfiddle.net/cspy1n9w/2/
https://jsfiddle.net/fdj9gu5z/
https://jsfiddle.net/j5p74vw3/
<div class="out">
<div class="in">
</div>
</div>
<style>
.out {
background: red;
}
.in {
margin: 10px
}
结果:超出 0px 高度
<div class="out">
<div class="in">
</div>
</div>
<style>
.out {
background: red;
display: flow-root;
}
.in {
margin: 10px
}
</style>
结果:超出 10px 高度
<div class="out">
<div class="in">
</div>
</div>
<style>
.out {
background: red;
display: flow-root;
}
.in {
margin: 10px
display: flow-root;
}
</style>
结果:超出 20px 高度
问题是为什么第二个(只有BFC)是10px高度。它只包含'inner'类的margin-top,为什么margin-bottom exclude?我认为 'out' 是一个 bfc,所以它的孩子应该完全包含在其中,包括边距顶部和底部。
【问题讨论】: