【问题标题】:html table border always appears in IE8html表格边框总是出现在IE8中
【发布时间】:2011-02-03 06:30:55
【问题描述】:

我正在使用 javascript 和 jQuery 渲染一个 html 表格。如果参数提供了颜色,则目的是显示一个彩色框(带有彩色 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 有什么替代方案吗?相同的代码在其他版本中运行良好。

【问题讨论】:

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


    【解决方案1】:

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

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

    您应该考虑将 CSS 提取到外部文件中。不显眼。

    【讨论】:

    • 我尝试使用“border:0px;”但它仍然在 IE8 中显示边框我也在 Firefox 中尝试过,同样的事情也发生在那里。不过它可以在兼容模式下工作!
    • @Anil:我无法重现。你的文档类型是什么?
    • 我使用母版页。上面的代码在 aspx 页面的内容占位符中。是的,我正在使用 C#.Net 3.5 MVC 项目。这是母版页的文档类型。 ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    【解决方案2】:

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

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

    在样式表中:

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

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

    (如果你想先内联试试,试试&lt;td style="border:none;"&gt;&lt;/td&gt;。)

    【讨论】:

      【解决方案3】:

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

      HTML

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

      CSS

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

      【讨论】:

        猜你喜欢
        • 2012-03-20
        • 2015-11-05
        • 2019-07-18
        • 2012-06-05
        • 1970-01-01
        • 2013-06-20
        • 2012-12-24
        • 1970-01-01
        • 2011-08-12
        相关资源
        最近更新 更多