Reputation: 152677
Which is more semantic and valid?
<td>
<p>
content text
</p>
</td>
or
<td>
content text
</td>
Upvotes: 33
Views: 61105
Reputation: 21141
Depends on if you subscribe to the "tables are for tabular data" or the "tables are for layout" school. If you prefer to use your tables for tabular data, and the paragraph is not tabular data the "p" is valid, if tables are for layout, and you have the "p" tag reserved for other layout semantics then its not required.
Short answer is, its really up to you. :)
Upvotes: 0
Reputation: 5326
It depends on your intention. If the cell is going to have just ONE paragraph then it makes no sense to add the <p>
tag to it.
If you intend to have a few paragraphs in the <td>
cell then it makes sense to use the <p>
tag.
Upvotes: 10
Reputation: 532
They are both valid. However, if you are going to have multiple paragraphs, obviously use the <p>
tags
Upvotes: 3
Reputation: 12476
If the tabular cell data is text:
<td>
content text
</td>
If the tabular cell data is paragraph(s):
<td>
<p>
content text
</p>
...
</td>
Upvotes: 1
Reputation: 29679
Both are valid; if that is the only content of <td>
, and the content is not being used in JavaScript code, then the second is better.
Upvotes: 0
Reputation: 162801
Leave out the <p>
tag unless the content of your table cell is truly a paragraph. It's certainly possible to have paragraphs in tabular data, and in that case a semantic <p>
would be appropriately placed. But for the common table with data in the cells eg. numbers, names, etc., don't include the <p>
.
Upvotes: 50