为什么<p>
不能嵌套在<table>
内?我可以做出什么修正?
删除<div>
和<p>
代码会损坏我的设计。由于网站遵循客户提供的设计。
我有以下代码,它在VS2008中工作正常,但我收到警告:
<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>
警告1此结束标记没有匹配的开始标记。 E:\ WebSite4 \ test.master 121警告2验证(XHTML 1.0 Transitional):在开始和结束之间不允许文本 元素html'的标签。 E:\ WebSite4 \ test.master 5警告3验证 (XHTML 1.0 Transitional):元素'form'缺少其结束标记。 E:\ WebSite4 \ test.master 21警告4类或CssClass值为 没有定义的。 E:\ WebSite4 \ test.master 33警告5文件'spacer.gif' 没找到。 E:\ WebSite4 \ test.master 116警告7验证(XHTML 1.0 Transitional):元素'img'缺少必需的属性'alt'。 E:\ WebSite4 \ test.master 116警告8验证(XHTML 1.0 Transitional):元素'table'不能嵌套在元素'p'中。 E:\ WebSite4 \ test.master 78警告9验证(XHTML 1.0 Transitional):元素'table'不能嵌套在元素'p'中。 E:\ WebSite4 \ test.master 93
答案 0 :(得分:28)
在HTML中,重要的是要理解P
elements不能包含其他块级元素,而TABLE是块级元素。 P
结束标记是可选的,当您尝试使P
元素包含不能包含的内容时,浏览器会假定结束P
标记。
P元素代表一个段落。它不能包含块级 元素(包括P本身)。
答案 1 :(得分:2)
在回答您的实际问题时,段落不能包含任何其他块元素,其中包括表格。除此之外,结束</p>
标记是可选的,因此解析器随后找到的第一个结束标记将认为已关闭该段落。
如果我能看到更多的代码和布局会有所帮助,但我相信从表格周围删除<p>
标签,然后使用CSS正确格式化表格的位置应该可以实现结果。“ / p>
<div class="right_articles">
<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>
<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>
</div>