html表td和tr正在消失

时间:2011-08-27 01:57:35

标签: html html-table tablerow

我正在经历一些非常奇怪的事情。我正在使用基于表格的行和内容的聊天系统,但格式化仍然搞乱。我想知道为什么直到我看到源代码中没有工作的部分,看起来像这样:

<table border="0"> 
<tbody> 

<tr class="chatline" style="background:white;border-style:none;border-top:1px solid grey;padding:0px;"> 
<td style="background:#A0D7FF;margin:0px;width:1%;"><span style="padding:2px;background:#A0D7FF;color:black;height:100%;border-right:1px solid grey;">kpsuperplane</span></td> 
<td style="color:black;background:white;"><span style="color:black;padding:2px;">test</span></td> 
</tr> 
<tr class="chatline" style="background:white;border-style:none;border-top:1px solid grey;padding:0px;"> 
<td style="background:#A0D7FF;margin:0px;width:1%;"><span style="padding:2px;background:#A0D7FF;color:black;height:100%;border-right:1px solid grey;">kpsuperplane</span></td> 
<td style="color:black;background:white;"><span style="color:black;padding:2px;">test</span></td> 
</tr> 
</tbody>
</table>

但是,当我通过chrome中的开发工具查看它时,我得到了这个:

 <table border="0"> 
    <tbody> 
    <span style="padding:2px;background:#A0D7FF;color:black;height:100%;border-right:1px solid grey;">kpsuperplane</span>
<span style="color:black;padding:2px;">test</span>
   <span style="padding:2px;background:#A0D7FF;color:black;height:100%;border-right:1px solid grey;">kpsuperplane</span>
<span style="color:black;padding:2px;">test</span>
    </tbody>
    </table>

知道为什么会这样吗?渲染时,td和tr将自动从文档中删除。这不是特定于铬的。 Dreamweaver中的实时代码给出了同样令人费解的结果。 图片如下:

Td's and Tr's gone

3 个答案:

答案 0 :(得分:2)

我在jsfiddle中对此进行了测试,但这似乎不是问题。我也在我自己的环境(chrome)中测试过,它运行正常。尝试在表格上方的代码中查找未关闭的标记。

修改

将代码粘贴到w3c验证器http://validator.w3.org/check中。我在html中发现了13个错误/警告。查看错误和具体的行号。

我发现div中有table个标记,但它们没有被tr包裹。我相信你能在验证器输出中找到其余部分。

答案 1 :(得分:1)

根据你的jsfiddle:你在HTML结构中有一个简单的错误,这里是复制粘贴;

 </tr> 
</table> 
</div> 

<tr class="chatline" style="background:white;border-style:none;border-top:1px solid    grey;padding:0px;"> 

你关闭桌子,然后你不打开它。 ctrl + f和type / table。我建议你仔细检查并制作有效的HTML;)

答案 2 :(得分:0)

很抱歉这不是答案,但不会让我发表评论。

我使用Dev Tools在chrome中尝试了相同的代码,它显示了tr和td,所以我不是你的情况。我将上面的代码包含在html和body标签中。