似乎我在某处听说/读到<td>
中的<div>
是个禁忌。这并不是说它不能工作,只是因为它们的显示类型不能真正兼容而已。找不到任何证据来支持我的预感,所以我可能完全错了。
发布于 2009-07-10 18:26:54
使用div
instide td
并不比使用表格进行布局的任何其他方式更差。(有些人从不使用表格进行布局,我碰巧就是其中之一。)
但是,如果在td
中使用div
,则可能很难预测元素的大小。div的默认设置是根据其父元素确定其宽度,表格单元格的默认设置是根据其内容的大小确定其大小。
标准中很好地定义了如何调整div
大小的规则,但是没有很好地定义td
大小的规则,因此不同的浏览器使用略有不同的算法。
发布于 2009-07-10 17:54:52
检查XHTML DTD后,我发现-element允许包含块元素,如标题、列表和-elements。因此,在-element中使用-element并不违反XHTML标准。我敢肯定,其他现代版本的超文本标记语言也有与-element相同的内容模型。
以下是相关的DTD规则:
<!ELEMENT td %Flow;>
<!-- %Flow; mixes block and inline and is used for list items etc. -->
<!ENTITY %Flow "(#PCDATA | %block; | form | %inline; | %misc;>
<!ENTITY %block "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
发布于 2009-07-10 17:37:48
表格单元格可以合法地包含块级元素,因此它本身就不是一个冒牌货。当然,浏览器实现使这一点处于一种推测-理论的位置。它可能会导致布局问题和错误。
虽然表格是用来布局的,但-and有时仍然是这样--我想大多数浏览器都能正确地呈现内容。甚至IE也是如此。
https://stackoverflow.com/questions/1110915
复制相似问题