TD内的DIV是个坏主意吗?

似乎我在某处听到/读到了a的<div>内部禁忌<td>。并不是说它不起作用,只是基于它们的显示类型,关于它们的兼容性不佳。找不到任何证据来支持我的预感,所以我可能完全错了。



慕容森
浏览 1072回答 3
3回答

斯蒂芬大帝

使用div实例a td并不比使用表进行布局的任何其他方式差。(尽管有些人从不使用表格进行布局,而我恰好是其中之一。)如果您使用div的td,你会得到但在一种情况,它可能是很难预测的因素将如何调整大小。div的默认值是从其父对象确定其宽度,而表格单元格的默认值是根据其内容的大小确定其大小。标准中如何div定义a 大小的规则td没有明确定义,因此,不同的浏览器使用略有不同的算法。

暮色呼如

检查XHTML DTD后,我发现允许<TD>元素包含块元素,例如标题,列表以及<DIV>-元素。因此,在<TD>元素内使用<DIV>元素不会违反XHTML标准。我很确定HTML的其他现代变体具有与<TD>元素等效的内容模型。以下是相关的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">

紫衣仙女

不,不一定。如果需要在TD内放置DIV,请确保正确使用TD。如果您不关心表格数据和语义,那么最终您将不会关心TD中的DIV。我认为这没有问题-如果必须这样做,就可以了。根据HTML规范<div>可以将A 放置在预期的流内容1处,即<td>内容模型2。
打开App,查看更多内容
随时随地看视频慕课网APP