把<p>标签放在<td>标签里面来放置文本内容是一个好的做法吗?

32
哪个更语义化和有效?
<td> 
<p>
 content text
</p>
</td>
或者
<td> 
 content text
</td>
6个回答

48

除非您表格单元格的内容确实是段落,否则不要使用<p>标签。在表格数据中具有段落是完全可能的,在这种情况下,语义化的<p>标签将被适当地放置。但对于包含单元格数据的普通表格,例如数字、名称等,请勿包含<p>


10

这取决于您的意图。如果单元格只有一个段落,则添加 <p> 标记是没有意义的。

如果您打算在 <td> 单元格中有几个段落,那么使用 <p> 标记是有意义的。


4
为什么一个表格单元格中的一个段落不能像多个段落一样语义上合理呢? - micahwittman
1
一个实际的问题是在处理标记中的单独段落和多个段落时,需要以不同的方式处理CSS声明(因为在一个情况下存在<p>而在另一个情况下不存在)。这不是什么大问题,但值得注意。 - micahwittman
1
就像我说的,这完全取决于你的意图。实际上,我赞同Asaph的回答,因为他解释得比我好! - netrox

3
他们都是有效的。然而,如果你要有多个段落,显然使用 <p> 标签。

1

如果表格单元格数据是文本:

<td> 
 content text
</td>

如果表格单元格数据是段落:
<td> 
<p>
 content text
</p>
...
</td>

0

两种方式都是有效的;如果<td>标签中只有这些内容,并且这些内容不会在JavaScript代码中使用,那么第二种方式更好。


0

这取决于您是否订阅“表格用于表格数据”或“表格用于布局”的学派。如果您喜欢将表格用于表格数据,并且段落不是表格数据,则“p”有效;如果表格用于布局,并且您已经将“p”标签保留用于其他布局语义,则不需要使用它。

简短的答案是,这取决于您自己。 :)


4
表格绝不应该用于布局! - Kyle
2
@Kyle 当它们是HTML电子邮件模板时,它们就是这样的! - lharby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接