HTML - 嵌套的td标签

Wea*_*Fox 0 html css

我写了一小段HTML:

<table><tr><td>1</td><td style="display:none"><td>2</td> <td>3</td></td></tr> <table>
Run Code Online (Sandbox Code Playgroud)

如您所见,包含"2"和"3"的display:nonetd标记位于td标记内.

我这个有效的HTML?

W3验证器没有抱怨,但浏览器(chrome和firefox)正在以这种方式重新组织标签:

<table>
<tr>
<td>1</td>
<td style="display:none"></td>
<td>2</td>
<td>3</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我用inspect元素看到了这个.当我查看页面源时,它是原始形式.为什么浏览器会这样做?它有效吗?

谢谢

Que*_*tin 6

如您所见,包含"2"和"3"的display:nonetd标记位于td标记内.

不,他们不是.td元素的结束标记是可选的.你不能在另一个td元素中有一个td元素.第二个td开始标记隐式关闭前一个td元素.

我这个有效的HTML?

省略结束标记是.在另一个结束标记之后紧跟一个结束标记(因为你不能结束一个未打开的元素).

W3验证器没有抱怨

当我使用它时它会这样做.

HTML5:迷路结束标记td

HTML4:元素"TD"的结束标记,未打开