根据 W3C,表内是否允许使用div ?
问问题
124013 次
5 回答
43
<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 过渡版!
于 2010-06-04T13:37:28.900 回答
39
您不能将 adiv
直接放在a 内table
,如下所示:
<!-- INVALID -->
<table>
<div>
Hello World
</div>
</table>
但是,将 adiv
放在 atd
或th
元素中是可以的:
<!-- VALID -->
<table>
<tr>
<td>
<div>
Hello World
</div>
</td>
</tr>
</table>
于 2010-06-04T13:38:04.540 回答
19
您可以将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>
于 2010-06-04T13:36:54.893 回答
9
正如其他人在这里指出的那样,虽然您可以将 DIV 放在 TD 中(而不是 TABLE 的直接子代),但我强烈建议不要将 DIV 用作 TD 的子代。当然,除非你喜欢头痛。
当你将两者结合起来时,关于宽度、边距、边框等的处理方式存在许多跨浏览器差异。我无法告诉你有多少次我不得不为客户清理这种标记,因为他们无法让他们的 HTML 在这个或那个浏览器中正确显示。
再说一次,如果您对事物的外观不挑剔,请忽略此建议。
于 2010-06-04T13:50:56.900 回答
2
这是允许的,因为TD可以包含内联和块元素。
在这里您可以在参考中找到它:http: //xhtml.com/en/xhtml/reference/td/#td-contains
于 2010-06-04T13:36:02.193 回答