带有rules = all的Firefox 4/5表边框问题

时间:2011-08-08 08:22:27

标签: html css firefox html-table border

以下是使用表规则= all with cell borders

的简单表格示例
<!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自动生成它,否则我永远不会使用它。

3 个答案:

答案 0 :(得分:2)

没有规定什么规则=“所有”实际上还没有,所以几乎任何行为都是“正确的”。

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

答案 1 :(得分:1)

只有在存在其他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将在“标题”单元格的右侧和底部绘制红线,其他单位为黑色。似乎上部和左侧细胞的样式信息更强大。

希望这有帮助

干杯 tannerli

答案 2 :(得分:0)

我无法回答第一部分 - 虽然我能够通过在表格标签中添加某些类型的边框来实现它:http://pastehtml.com/view/b35h9852w.html

根据w3schools,建议您仅使用CSS进行此类样式设置(我同意)。

但它似乎确实是Firefox中的一个错误。无论如何,我无法找到明确的解释。