HTML W3C有效元素 - DIV在TD内有效吗?

时间:2010-06-25 11:01:52

标签: html

我和一位同事发生争执,但无法找到证据来证明我们中的任何一方是正确的。我之前看过给定标签的有效元素列表,但是再也找不到了。有人能指出我正确的方向吗?

我对XHTML感到好奇,但是对于DIV标记在HTML 4.01中的TD标记内是否有效存在分歧。

3 个答案:

答案 0 :(得分:14)

是。根据HTML 4.01 DTD,td元素可以包含块级元素和/或内联级元素。

DTD的相关行:

<!ELEMENT (TH|TD)  - O (%flow;)*       -- table header cell, table data cell-->

此行基本上定义了thtd元素,并声明它们可能包含块和内联元素(*)的任意组合(%flow;)。< / p>

有关td的更多信息:http://www.w3.org/TR/html401/struct/tables.html#edef-TD

答案 1 :(得分:5)

是的,div中的td完全有效。 HTML5规范草案中的elements list是针对此类问题的有用参考,但基本上,td的有效子元素是 flow 元素,div是一个流程元素。

以上参考文献适用于HTML5,这是前进的方向(它既编码了已经存在的东西,又带来了前进的东西;主要的浏览器供应商都参与其中)。对于HTML 4.01,TD reerence是here,但我不得不承认4.01我可能会做的是问W3C validator,这对4.01来说是非常强大的(而且还没有HTML5)。验证员说......是的,很好。样本数据:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>Hi</title></head>
<body>
<table><tbody><tr><td><div>x</div></td></tr></tbody></table>
</body>
</html>

答案 2 :(得分:1)

是的,你可以在td中放置一个div。我一直这样做。