【发布时间】:2016-01-10 10:46:59
【问题描述】:
一个简单的块元素不会垂直扩展,除非它的内容是 inline-block 或块。
见小提琴:https://jsfiddle.net/4148xjvv/7/
或者看代码:
HTML:
<div class='parent'>
<span class='padding'>Inline</span>
</div>
<br><br>
<div class='parent'>
<span class='inline-block padding'>Inline-block</span>
</div>
<br><br>
<div class='parent'>
<div class='padding'>Block</div>
</div>
CSS:
.parent {
background-color: red;
color: white;
}
.padding {
padding: 10px;
}
.inline-block {
display: inline-block;
}
结果:
横向填充有效,但垂直无效。
Chrome 调试器显示填充存在,但从父级溢出。
显然这不是一个大问题,如果我需要填充,我可以将孩子更改为内联块,所以我想知道为什么会发生这种情况。
【问题讨论】:
-
maxdesign.com.au/articles/inline 可能会有所帮助。
-
block、inline-block和inline不是有效的 html 元素。尝试使用有效的标记,看看问题是否仍然存在。 -
@sean you can have custom elements in HTML。尽管使用他的元素,
inline-block是唯一有效的元素,因为它的名称中有一个-。一个类会更好,但它不应该影响渲染。 -
@JacobGray 如您的链接中所述,自定义元素必须通过 javascript 注册,这在上面的示例中没有发生。如果自定义元素未注册,则为无效标记。
-
自定义元素不是问题,正如@JacobGray 所说。我只有自定义元素来进一步展示效果,但我会切换到类以避免进一步混淆。
标签: css