2012-02-29 65 views
2

我定義我的表是這樣的:爲什麼<table border =「1」>不起作用?

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

從例如here我承擔看到周圍的表格邊框和所有的細胞在表中。最近這並沒有讓我多次受到影響。有誰知道爲什麼?我正在谷歌瀏覽器中查看。

**編輯**

謝謝大家,我沒有最初提的是,這是我嵌入Joomla網站的表,如下所述,邊境=「1」一般不工作。但由於它沒有工作,我總是使用CSS。它只是不斷擾亂我簡單的邊界=「1」不起作用。 Joomla主題的CSS必須關閉個別邊框。 。

+0

[Works for me](http://jsfiddle.net/HP9GL/) – 2012-02-29 21:06:50

+0

我會嘗試在CSS中做到這一點是可能的。 – thescientist 2012-02-29 21:07:04

+0

@thescientist:不是。邊界屬性雖然是純粹的表示,但非常簡單地實現了純CSS所不可能實現的功能(在所有單元格和表格本身之間獲得一個單獨的邊界,並考慮了間距,摺疊等)。因此,我傾向於仍然使用邊界屬性。 – 2012-02-29 21:08:39

回答

2

應用樣式表中的某些內容會關閉邊框。我猜想它可能是一些通用的「重置CSS」樣式表,某些人和組織喜歡,例如經常複製的Eric Meyer的Reset CSS將表格和單元格邊框設置爲0。

1

這就是邊界被定義爲「回到當天」的方式,但是隨着新的web標準,即DOCTYPE,大多數古老的語法正在逐漸被淘汰。總而言之,這可能是由於您正在使用的DOCTYPE(或缺乏)。例如,DOCTYPE Strict不會識別邊框屬性。

<!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;">

+1

doctype不會阻止瀏覽器長時間呈現HTML邊框。 – BoltClock 2012-03-01 13:09:04

9

這是放置周圍的邊框表的老辦法。更好的方式來放置邊框圍着一張桌子和細胞是通過使用CSS:

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

jsFiddle example

3

我不是這裏的老辦法相比,新辦法辯論或哪個更好。只是說...

據我所知,table元素上的border屬性在HTML5中仍然是標準的,並且沒有被「逐步淘汰」。 (見:http://www.w3schools.com/html5/tag_table.asphttp://www.w3.org/TR/html5/tabular-data.html#attr-table-border

雖然,它可能是,我非常懷疑這是一個DOCTYPE問題。我嘗試了你的示例代碼(我爲你打開的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> 

國界FF,IE8和Chrome出現了。

對於此屬性,HTML5支持1或空字符串。

相關問題