为什么不起作用?<table border =“1”> </table>

时间:2012-02-29 21:05:21

标签: html html-table border

我已经像这样定义了我的表:

<div id="a">
    <table id="main_table" border="1">
        <tr>
            <th>Jobs</th>
            <th>Customers</th>
        </tr>
    </table>
</div>

从示例here我假设看到表格周围的边框和表格中的所有单元格。这最近没多次对我有用。有谁知道为什么?我在谷歌浏览器中查看。

**编辑**

谢谢大家,我原本没有提到这是我在Joomla网站中嵌入的表格,如下所述,border =“1”的确有效。但由于它没有工作,我总是使用CSS。它只是让我觉得简单的边界=“1”无效。必须在CSS中为Joomla主题关闭各个边框。

4 个答案:

答案 0 :(得分:10)

这是在桌子周围放置边框的旧方法。在表和单元格周围放置边框的更好方法是使用CSS:

​table, td {
    border-collapse: separate;
    border: 1px solid #999;
}​

<强> jsFiddle example

答案 1 :(得分:3)

我不是来讨论旧方式与新方式或更好方式。只是说...

据我所知,table元素的border属性在HTML5中仍然是标准的,并且尚未“逐步淘汰”。 (参见:http://www.w3schools.com/html5/tag_table.asphttp://www.w3.org/TR/html5/tabular-data.html#attr-table-border

虽然可能,但我非常怀疑这是一个DOCTYPE问题。我尝试了你的示例代码(我在你的open div中添加了一个结束标记),并且在包括Chrome在内的各种当前浏览器中,边框显示得很好。

我认为您可能在代码中使用了一些全局CSS或其他内容,而且这里没有特别提及。

为了澄清我使用了严格的DTD和所有内容的确切代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
    <title>test</title>
</head>

<body>
<div id="a">
<table id="main_table" border="1">
    <tr>
        <th>Jobs</th>
        <th>Customers</th>
    </tr>
</table>
</div>
</body>

</html>

Borders出现在FF,IE8和Chrome中。

HTML5支持此属性的1或空字符串。

答案 2 :(得分:2)

应用样式表中的某些内容会关闭边框。我猜这可能是某些人和组织所青睐的一些通用的“重置CSS”样式表,例如经常复制的Eric Meyer的Reset CSS将表格和单元格边界设置为0。

答案 3 :(得分:1)

这就是“在当天重新定义”边界的方式,但是使用新的网络标准,即DOCTYPE,大多数古老的语法正逐渐被逐步淘汰。总而言之,可能是因为你正在使用的DOCTYPE(或缺乏它)。例如,DOCTYPE Strict将无法识别border属性。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

More information here.

至于您的问题,请更改/定义DOCTYPE或使用CSS代替: <table id="main_table" style="border: 1px solid #000;">