td标签外的标签未显示在表格内

时间:2014-01-16 05:20:11

标签: html

我很困惑为什么br标签未插入此处, 即使我把它放在tr标签内。

HTML:

<table border=1>
    <tr><td>1</td></tr>
    <br/>
    <tr><td>2</td></tr>
    <tr><td>3</td></tr>
</table>

表格之前的空格(即br)是输出:

Empty Space
1
2
3

我已经发现它可以通过将其放在td标记中来实现,但我仍然很好奇为什么没有td标记就无法完成。

提前致谢! :)

4 个答案:

答案 0 :(得分:1)

<br/>元素在给定位置无效,因为HTML语法不允许tr元素之间的任何内容,而是其他tr元素(在HTML5中,script元件)。当遇到这种无效标记时,传统的浏览器行为就是将其视为出现在table元素之前。 HTML5中的Unexpected markup in tables部分正在对此错误处理进行标准化。

独立于此,仅使用br元素创建垂直间距是粗略且不可靠的;在HTML5中,它被声明为无效(有点模糊,请参阅br element的当前描述)。在br元素的末尾使用td通常会在那里创建一个空行,但通过在CSS中的元素上设置padding-bottom可以更好地实现这一点。

答案 1 :(得分:0)

您的代码无效html,如果您想要像这样使用空白<​​/ p>

<table border=1>
    <tr><td>1</td></tr>
    <tr><td>&nbsp;</td></tr>
    <tr><td>2</td></tr>
    <tr><td>3</td></tr>
</table>

答案 2 :(得分:0)

只是它不是你使用它的方式允许的标签。查看HTML表格标记http://www.w3.org/html/wg/drafts/html/master/tabular-data.html#the-table-element的规范。

答案 3 :(得分:0)

它不在表结构中,所以如果你想在行之间留出空间可以扩大边框大小并且还使用其他方式来获取输出它不起作用。