【发布时间】:2013-10-04 19:44:04
【问题描述】:
这是 HTML:http://jsfiddle.net/jC8DL/1/
<div style='width:300px;border:1px solid green'>
<div>Outer div</div>
<div style='width:100%;border:1px solid red;margin:10px;'>
Inner div, 10px margin.
</div>
<div style='width:100%;border:1px solid red;padding:10px;'>
Inner div, 10px padding.
</div>
<div style='width:100%;border:1px solid red;padding:10px;box-sizing:border-box'>
Same, with box-sizing: border-box
</div>
<table style='width:100%;border:1px solid red;padding:10px;'>
<tr><td>Inner table, 10px padding</td></tr>
</table>
</div>
在我的 Chrome 中看起来像这样:
我想直到最后一个我都明白了。我的 Chrome 检查器显示表格的计算 box-sizing 样式是 content-box 所以我希望它表现得像第二个 div,溢出并且看起来很丑。为什么不一样?这是否记录在 HTML/CSS 规范中的某处?
【问题讨论】:
-
这是因为
div是块元素。尝试将display: block;添加到内表。它将显示与 div 相同的内容。 -
@Bram Vanroy:1)那只是begging the question。 2)这个问题的重点是问为什么一个表的行为与一个块不同;将表变为块会完成什么?
-
@BoltClock 你误解了我的评论(因此,这是一个评论)。我简短地解释了为什么会出现这种差异。我没有试图回答这个问题;无论如何,我没有将其发布为答案。
标签: html css html-table