什么是初始包含块,它是否建立块格式化上下文



标准的边距显示

两个边距相邻当且仅当:

都属于流内块级框,它们参与相同的块格式化上下文

下面是一个演示:http://jsfiddle.net/yaway/Pz4QZ/

html

<div class="box-a bfc">drei</div>
<div class="box-b bfc">vier</div>
css

* {
    margin:0;
    padding:0
}
.box-a,
.box-b {
    height:100px;
    margin:10px 0;
    border:1px solid #fff;
}
.box-a {
    background-color:#fee
}
.box-b {
    background-color:#efe
}
.bfc {
    overflow:hidden;
}

方框"one_answers";vier"有折叠边距

所以我想知道最初的包含块是否建立了一个块格式上下文(BFC),所以这两个框在同一个BFC中。

初始包含块定义为:

根元素所在的包含块是一个矩形,称为初始包含块。

。它包含HTML文档的<html>元素。

它确实建立了一个块格式上下文,但你的例子中的两个元素不能是它的子元素,所以可能有其他东西先建立一个新的块格式上下文。

我想不出任何情况下两个display: block, float: none, position: static相邻的兄弟姐妹不会共享块格式上下文。

相关内容

最新更新