我的 overflow: hidden
容器本身不包含相邻的 float 元素(橙色框)。
float 元素位于容器(部分)旁边。但是当我删除 overflow:hidden
时,相邻的 float 元素将进入容器内部并尊重容器的 float 子元素。
为什么会这样?它与 block 格式化上下文有什么关系吗?
也许当我为容器应用 overflow: hidden;
时,它会触发一个新的 BFC 并且将只包含它的子元素而不包含相邻的 float 元素?
这是一个fiddle
最佳答案
我猜你已经知道答案是 BFC。 :)
如果你放置溢出(除了可见的),那么它会创建一个新的 block 格式化上下文,它不会让容器邀请到相邻的 float 元素中。
这就是为什么如果您确实保持 overflow: hidden
橙色 div 位于容器旁边。
检查一下:
关于html - 溢出:隐藏的容器不包含 float 的相邻元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980783/