HTML - 嵌套的td标签

时间:2014-05-11 07:41:12

标签: html css

我写了一小段HTML:

<table><tr><td>1</td><td style="display:none"><td>2</td> <td>3</td></td></tr> <table>

正如您所见,td标签包含&#34; 2&#34;和&#34; 3&#34;在display:none td标记内。

我这个有效的HTML?

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

<table>
<tr>
<td>1</td>
<td style="display:none"></td>
<td>2</td>
<td>3</td>
</tr>
</table>

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

由于

3 个答案:

答案 0 :(得分:6)

  

正如您所见,td标签包含&#34; 2&#34;和&#34; 3&#34;在display:none td标记内。

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

  

我这个有效的HTML?

省略结束标记是。在另一个结束标记之后立即使用结束标记(因为您无法结束不打开的元素)。

  

W3验证器没有抱怨

我使用时会这样做。

HTML5:迷路结束标记td

HTML4:元素的结束标记&#34; TD&#34;这是不公开的

答案 1 :(得分:2)

它无效,因为您已经嵌套了<td>代码....

<td style="display:none"><td>2

您无法在表格单元格中放置表格单元格。表格单元格仅在表格行内有效。换句话说,<td> 永远永远不会<{1}}。

这是正确的:

<td>

答案 2 :(得分:-1)

您是否尝试过在TD内嵌套表格?

<table>
  <tr>
    <td>ABC</td>
    <td>DEF</td>
  </tr>
  <tr>
    <td>
      <table>
        <tr>
          <td>A</td>
          <td>B</td>
          <td>C</td>
        </tr>
      </table>
    </td>
    <td>
      <table>
        <tr>
          <td>D</td>
          <td>E</td>
          <td>F</td>
        </tr>
      </table>
    </td>
  </tr>
</table>