<div style="line-height: 30px;">
<span></span>
</div>
这样一段代码 ,如果设置 span的display为inline-block 则div的高度为30px;
如果设置span的display为inline 则div的高度为0.
请问这是什么原因?
我的思路: 我知道行框盒子 和 幽灵空白节点。 对于display为inline-block 我能理解div的高度为什么是30px。每个行框盒子都以一个零宽度,带有元素字体以及行高属性的内框开始,我们称这个假想的盒子为'支柱'
那么为什么display为inline的时候 div的高度是0呢? 难道此时就没有行框盒子吗?
参考:
- https://blog.csdn.net/userkang/article/details/105161683 这篇文中中提到了 为什么inline的时候高度为0, 但是这个解释我没有理解
因为 BFC 和 IFC 的不同。比如说以下的例子中,只有包裹
inline-block
的.container
容器会有高度。理解起来会很费劲,具体得解释可以查看以下两个问题:
其他
[css-display] Should 'run-in flow-root' blockify to 'block' or 'flow-root'? · Issue #1715 · w3c/csswg-drafts