html - 为什么内联格式化上下文中的框是垂直放置的?

标签 html css

“div#wraper”是否为其后代创建 BFC?

<div id="wraper"  style="overflow:visible">
    <div></div>
    <div></div>
<div>

Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with 'overflow' other than 'visible' (except when that value has been propagated to the viewport) establish new block formatting contexts for their contents.

“div#wraper”的“溢出”是“可见的”,因此它不会创建 BFC,而是创建内联格式化上下文。

但是后代是一个接一个的纵向布局,符合BFC的规则。

如何解释矛盾,内联格式化上下文中的框是垂直布局的?

最佳答案

你整个问题的前提是有缺陷的。假设内部 div 保留它们的默认样式,那么它们就是 block 框,这意味着 #wraper 不可能首先在这种情况下建立内联格式化上下文。

内部 div 参与 block 布局,但它们参与任何已经存在的 BFC(#wraper 本身参与)。这可以来自某个符合建立 BFC 标准的祖先;否则,它是根元素的 BFC。

关于html - 为什么内联格式化上下文中的框是垂直放置的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37558566/

相关文章:

html - 需要根据打开和关闭的括号为数组元素应用边框

图像 flexboxes 的 CSS : forcing columns and rows

jquery垂直多级菜单parent li捕获内部ul的mouseclicks?

javascript - 如何识别 toggle() 状态(真或假)

javascript - 如何通过javascript设置html属性值?

jquery - 当我向下滚动我的网站时,如何使具有固定定位的对象从浏览器窗口的顶部移动到底部?

html - CSS - 绝对定位的全宽元素在缩放后被剪切

javascript - django 模板仅在 jquery 对话框中显示内容

javascript - 使用单选按钮更改 Div 的背景图像

javascript - 表单验证不显示消息