【发布时间】:2017-05-29 13:25:12
【问题描述】:
我的理解是,带有display:inline-block 样式的元素将在内部作为块布局,但在它们所在的任何容器中都被视为内联元素。如果它们在li 或div 或其他一堆东西中,那似乎是真的;但如果它们在p 内,那就不同了,原因我不清楚。考虑以下示例:
<!DOCTYPE html>
<p>Test1<table style="display:inline-block"><tr><td>x</td></tr></table>Test1</p>
<div>Test2<table style="display:inline-block"><tr><td>x</td></tr></table>Test2</div>
<p>Test3<span style="display:inline-block"><table><tr><td>x</td></tr></table></span>Test3</p>
<div>Test4<span style="display:inline-block"><table><tr><td>x</td></tr></table></span>Test4</div>
这里的前两行在p 和div 内部有一个样式为display:inline-block 的表格。接下来的两个表在span 内具有内联块样式,同样在p 和div 内。在 Test2 和 Test4 中,div 的情况下,整个事情都显示在一行上(正如我对所有这些情况的期望)。在 Test1 中,所谓的 inline-block 元素在布局之前有一个换行符,而在 Test3 中,所谓的 inline-block 元素在布局之前和之后都有一个换行符。
为什么?
【问题讨论】: