我有一些代码可以生成一个表,并且工作得很好。

代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<table>
<tr class="d0"><th>SCHED DATE<th>AMOUNT
<tr class="d0"><td style="text-align: left;">Aug 1, 2011</a></td><td style="text-align: right;">$100</a></td>
<tr class="d1"><td style="text-align: left;">Jul 27, 2011</a></td><td style="text-align: right;">$100</a></td>
<tr class="d0"><td style="text-align: left;">Jul 20, 2011</a></td><td style="text-align: right;">$100</a></td>
<tr><td>Total:</td><td style="{border-top: grey thin solid; text-align: right;}">$300</td>
</table>
</body>
</html>然后,我添加了一行代码,以便可以在validator.w3.org上传递html验证
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">但是这破坏了我的CSS,正确的格式消失了,我的总行也消失了

我怎么才能修复它呢?
发布于 2011-08-07 23:05:19
代码的以下部分看起来很奇怪:
<td style="{border-top: grey thin solid; text-align: right;}">样式值周围的{}似乎不是很标准(正如您在doctype声明中指定的那样,您希望浏览器使用定义良好的标准来解释您的代码……)
您可能应该删除这些{},并使用类似这样的内容--它看起来更符合标准:
<td style="border-top: grey thin solid; text-align: right;">此外,正如@cthulhu所指出的,您正在打开<tr>和<th>标记,但从不关闭它们:
<tr>:<th>标记:<tr class="d0"><th>SCHED DATE<th>AMOUNT
<tr class="d0"><td style="text-align: left;">Aug 1, 2011</a></td><td style="text-align: right;">$100</a></td>
<tr class="d1"><td style="text-align: left;">Jul 27, 2011</a></td><td style="text-align: right;">$100</a></td>您应该在需要的地方添加结束</th>和</tr>标记:
<tr class="d0">
<th>SCHED DATE</th>
<th>AMOUNT</th>
</tr>
<tr class="d0">
<td style="text-align: left;">Aug 1, 2011</a></td>
<td style="text-align: right;">$100</a></td>
</tr>
<tr class="d1">
<td style="text-align: left;">Jul 27, 2011</a></td>
<td style="text-align: right;">$100</a></td>
</tr>发布于 2011-08-07 23:07:21
这会破坏你的css:{border-top: grey thin solid; text-align: right;}
删除周围的{},它应该可以再次正常。
发布于 2011-08-07 23:08:17
<tr><th>SCHED DATE</th><th>AMOUNT</th></tr>。{ ... }。https://stackoverflow.com/questions/6973563
复制相似问题