【问题标题】:Firefox 4/5 table border issue with rules=allFirefox 4/5 表格边框问题,rules=all
【发布时间】:2011-10-22 04:54:06
【问题描述】:

这是一个简单的表格示例,使用表格规则=所有单元格边框

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Untitled Page</title>
</head>
<body>
    <table rules="all">
        <tr>
            <td style="border: red solid 1px;">
                Title
           </td>
        </tr>
    </table>
</body>
</html>

在大多数浏览器(包括 Firefox 3.6)中,它在单元格周围带有红色边框,但在 Firefox 5(以及 IIRC 和 Firefox 4)中没有单元格边框。

这是 Firefox 中的错误还是规范允许的一些变化?

在相关点上,使用表格规则属性有什么意义吗?它似乎没有被弃用,但我看不到它做任何你在 CSS 中做不到的事情。在这种情况下,ASP.NET 会自动生成它,否则我永远不会使用它。

【问题讨论】:

  • 你需要决定你想要什么,规则还是边界?

标签: html css firefox html-table border


【解决方案1】:

目前还没有关于 rules="all" 实际作用的规范,因此几乎所有行为都是“正确的”。

也就是说,当前的 Firefox 行为是将 rules="all" 映射到折叠边框模型中的某些边框样式。鉴于该映射的详细信息(目前在http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#tables 的 HTML5 草案中),观察到的行为是正确的。

【讨论】:

    【解决方案2】:

    “规则”仅在有其他 td 分隔时才会显示。然后样式信息被相邻的单元格部分覆盖。如果你像这样创建一个 3x3 表

    <table rules="all">
         <tr>
             <td>foo</td>
             <td>foo</td>
             <td>foo</td>
        <tr>
             <td>foo</td>
            <td style="border: red solid 1px;">
                Title
           </td>
             <td>foo</td>
        </tr>
         <tr>
             <td>foo</td>
             <td>foo</td>
             <td>foo</td>
        <tr>
    </table>
    

    FF5 将在“标题”单元格的右侧和底部绘制红线,其他为黑色。好像左上角单元格的样式信息更强大。

    希望对你有帮助

    干杯 坦纳利

    【讨论】:

    • 啊,我错过了我只需要额外的单元格。这更有意义!
    【解决方案3】:

    我无法回答第一部分 - 虽然我能够通过向表格标签添加 some 类型的边框来使其工作:http://pastehtml.com/view/b35h9852w.html

    根据w3schools,建议您仅将 CSS 用于此类样式(我同意)。

    不过,这似乎是 Firefox 中的一个错误。无论哪种方式,我都找不到明确的解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 2013-03-06
      相关资源
      最近更新 更多