html - 溢出:隐藏的容器不包含 float 的相邻元素

标签 html css css-float overflow

我的 overflow: hidden 容器本身不包含相邻的 float 元素(橙色框)。

float 元素位于容器(部分)旁边。但是当我删除 overflow:hidden 时,相邻的 float 元素将进入容器内部并尊重容器的 float 子元素。

为什么会这样?它与 block 格式化上下文有什么关系吗?

也许当我为容器应用 overflow: hidden; 时,它会触发一个新的 BFC 并且将只包含它的子元素而不包含相邻的 float 元素?

这是一个fiddle

最佳答案

我猜你已经知道答案是 BFC。 :)

如果你放置溢出(除了可见的),那么它会创建一个新的 block 格式化上下文,它不会让容器邀请到相邻的 float 元素中。

这就是为什么如果您确实保持 overflow: hidden 橙色 div 位于容器旁边。

检查一下:

CSS overflow:hidden with floats

BFC info

关于html - 溢出:隐藏的容器不包含 float 的相邻元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980783/

相关文章:

jQuery 切换文本和图像不起作用

javascript - 为什么CSSOM构建不等待Javascript执行?

html - 在 ie 7 的 <div> 内,在右边 float <span>,在左边 float rest(text)

html - 什么时候在 float 元素之前插入新行?

css - VS 2010 无法在 css 编辑器中打开 css 文件

css - IE向右浮动-抱歉,我只是看不懂可用的解决方案

html - 当 div 内容改变并且 div 增长时 CSS3 转换

html - Bootstrap 3.0 和 nicescroll 插件显示在导航栏下

html - 具有 2 个图像 div 的 CSS 幻灯片在 Chrome 中无法正常工作

javascript - JQuery 悬停在象限上