Why can't <p>
be nested inside <table>
? What is the correction I could make?
Removing the <div>
and <p>
tags corrupt my design. As the website follows a client provided design.
I have the following code and it works fine in VS2008, but I get warnings:
<div class="right_articles">
<p>
<table>
<tr>
<td>
<img alt="Img not found" src="images/ribbon.gif" style="width: 155px; height: 125px;" />
</td>
<td>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br />
<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</table>
</p>
<p> </p>
<p>
<table>
<tr>
<td>
<img alt="Img not found" src="images/medal.gif" style="width: 155px; height: 125px;" />
</td>
<td>
<asp:Label ID="Label4" runat="server" Text="Label"></asp:Label><br />
<asp:Label ID="Label5" runat="server" Text="Label"></asp:Label><br />
<asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</table>
</p>
</div>
Warning 1 This end tag has no matching start tag. E:\WebSite4\test.master 121 Warning 2 Validation (XHTML 1.0 Transitional): Text is not allowed between the opening and closing tags for element html'. E:\WebSite4\test.master 5 Warning 3 Validation (XHTML 1.0 Transitional): Element 'form' is missing its closing tag. E:\WebSite4\test.master 21 Warning 4 The class or CssClass value is not defined. E:\WebSite4\test.master 33 Warning 5 File 'spacer.gif' was not found. E:\WebSite4\test.master 116 Warning 7 Validation (XHTML 1.0 Transitional): Element 'img' is missing required attribute 'alt'. E:\WebSite4\test.master 116 Warning 8 Validation (XHTML 1.0 Transitional): Element 'table' cannot be nested within element 'p'. E:\WebSite4\test.master 78 Warning 9 Validation (XHTML 1.0 Transitional): Element 'table' cannot be nested within element 'p'. E:\WebSite4\test.master 93
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. :) Tables are never for layout!
The short answer is that ol elements are not legally allowed inside p elements.
You cannot put tr inside td. You can see the allowed content from MDN web docs documentation about td . The relevant information is in the permitted content section.
No, a paragraph element may not contain other block elements. A paragraph tag is intended for a block of text. If your elements is a part of the text (and not block elements), it would be semantically correct, otherwise not.
In HTML it's important to understand that P
elements cannot contain other block level elements and TABLE is a block level element. The P
closing tag is optional and when you try to make a P
element contain something that it cannot contain, the closing P
tag is assumed by the browser.
The P element represents a paragraph. It cannot contain block-level elements (including P itself).
http://www.w3.org/TR/html401/struct/text.html#h-9.3.1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With