表内的div

时间:2010-06-04 13:30:40

标签: html w3c-validation

根据w3c

,有人可以告诉我是否允许表内的div

5 个答案:

答案 0 :(得分:42)

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>test</title>
  </head>
  <body>
    <table>
      <tr>
        <td>
          <div>content</div>
        </td>
      </tr>
    </table>
  </body>
</html>

此文档已成功检查为XHTML 1.0 Transitional!

答案 1 :(得分:38)

您无法将div 直接放在table中,如下所示:

<!-- INVALID -->
<table>
  <div>
    Hello World
  </div>
</table>

div置于tdth元素内可以,但是:

<!-- VALID -->
<table>
  <tr>
    <td>
      <div>
        Hello World
      </div>
    </td>
  </tr>
</table>

答案 2 :(得分:15)

您可以将div标签放在td标签内,但不能直接放在table或tr标签内。 示例:

这有效:

<table>
  <tr>
    <td> 
      <div>This will work.</div> 
    </td>
  </tr>
<table>

这不起作用:

<table>
  <tr>
    <div> this does not work. </div> 
  </tr>
</table>

这也不起作用:

<table>
  <div> this does not work. </div>
</table>

答案 3 :(得分:9)

虽然你可以像其他人在这里注意到的那样,将DIV放在TD中(而不是作为TABLE的直接孩子),但我强烈建议不要使用DIV作为TD的孩子。当然,除非你是头疼的粉丝。

几乎没有什么可以获得,并且还有很多东西要丢失,因为当你将两者结合起来时,有很多关于如何处理宽度,边距,边框等的跨浏览器差异。我无法告诉你有多少次我必须为客户清理这种标记,因为他们无法在这个或那个浏览器中正确显示HTML。

然后再说一遍,如果你对事情看起来并不挑剔,请忽略这个建议。

答案 4 :(得分:2)

允许,因为TD可以包含内联和块元素。

您可以在参考资料中找到它:http://xhtml.com/en/xhtml/reference/td/#td-contains