html表格边框总是出现在IE8中

时间:2010-09-23 10:10:56

标签: html internet-explorer-8 cross-browser

我使用javascript& amp渲染一个html表格jQuery的。目的是如果参数提供颜色,则显示彩色框(带有彩色td的表)。如果没有那么什么都不显示(所以我显示空表)。但对于这两种情况我都不想显示任何边界。我想要一个平面彩盒/空白盒子。

if (colors == null || colors == '') {
    return '<table border="0" style="none" cellpadding="0" cellspacing="3"><tr><td>&nbsp;</td></tr></table>'
}

在IE 6和7中,我可以看到没有边框的框,但是在IE 8中,即使我提到Border =“0”,它也始终显示这些表td的边框。它看起来像一个3d单元格。

IE8还有其他选择吗?相同的代码在其他版本中工作正常。

3 个答案:

答案 0 :(得分:2)

这看起来不太健康。你不应该使用border="0"style="none"真是神秘,因为CSS意味着在里面。 none不是有效的CSS,因为CSS属性是在键/值对中指定的。我推荐这个:

<table style="border:0px;" cellpadding="0" cellspacing="3"><tr><td>&nbsp;</td></tr></table>

您应该考虑将CSS解压缩到外部文件中。不引人注目。

答案 1 :(得分:1)

Per elusive的评论,“你应该考虑将你的CSS提取到外部文件中”,我会尝试在表格上添加一个类,并在外部样式表中设置边框样式。

<table class='no-border' ...><tr><td>&nbsp;</td</tr></table>

在样式表中:

.no-border, .no-border td { border:none; }

如果在单个单元格而不是整个表格上设置边框,.no-border td可能是解决您遇到的问题所需的规则。

(如果您想首先尝试内联,请尝试<td style="border:none;"></td>。)

答案 2 :(得分:0)

您的HTML似乎不合适。您可以使用HTML标记或CSS来完成。

HTML

<table border="0" cellpadding="0" cellspacing="3">

CSS

<table style="border: 0; padding: 0" cellspacing="3">