2010,正心,修身,养性。
焚我残躯,毁我意志,复我记忆。
子曰:“知之者不如好之者,好之者不如乐之者。”
子曰:“吾尝终日不食,终夜不寝,以思,无益,不如学也。”

快乐的生活,快乐的分享。

空tbody元素在Firefox下的异常

昨天遇到的一个问题,虽然是自身的不合理,但是还是记录一下。

当table中有一个空的tbody元素,并且table中同时有thead的时候,会造成table边框在Firefox下失效的问题,如图所示:

1

HTML Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>空tbody在firefox下的问题</title>
<style type="text/css">
table, td, th {
    border:1px solid green;
    border-collapse:collapse;
}
td, th {
    padding:10px;
}
</style>
</head>
<body>
<table>
    <thead>
        <tr>
            <th>cecilia</th>
            <th>jolin</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
    <tbody>
        <tr>
            <td>张柏芝</td>
            <td>蔡依林</td>
        </tr>
    </tbody>
</table>
</body>
</html>

有些地方说tbody必须包含tr,有些地方说可以包含0个tr,在进行html验证的时候又会提示说标签缺少child。这个问题只有在Firefox下出现,而且必须有thead存在的时候才会出现这个问题。希望哪位高人指点一下问题产生的原因~

Demo地址:http://www.12sui.cn/test/empty-tbody.html

测试浏览器:IE6、IE7、IE8、Opera 10.10(Build 1893)、Firefox 3.5.6、Chrome 3.0.195.38、Safari 4.0.3(531.9.1)。

参考资料:

这篇文章发布于 2009年12月31日,星期四,09:11,归类于 CSS, HTML。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback

3 条评论

  • simaopig (2010.01.04 @ 12:40)

    你写了两个tbody的原因是什么呢?在FF下面测试,只写一个tbody是没有问题的。

    我猜想是不是由于FF认为另一个tbody不算是table的正文呢?

  • simaopig (2010.01.04 @ 12:43)

    呃,看来上面的原因肯定说的不对。因为把为空的tbody填上东西,边框就出来了。。

  • 南芝 (2010.01.07 @ 08:16)

    @simaopig 其实也是无意间发现的,两个tbody并没什么毛病,只是在老的代码里发现了空的tbody,然后就发现这个问题了~

雁过留声

Rss
渴望孩子的纯真、诚实、可爱、无忧无虑。。。。。。

这位姐姐,你好,你的浏览器版本太低了,为了避免您中毒,请您升级您的浏览器!