2009-08-20 77 views
0

我在SO中見過很多HTML表格相關的問題。通常涉及許多關於瀏覽器特定錯誤的問題,例如涉及HTML表格的CSS和JavaScript。數據表YUI標記的早期版本看起來如下:你對使用div設計HTML表格有什麼看法?

// dynamically generated 
<table> 
    <tr> 
     <td>Some content</td> 
     <td>Other content</td> 
    </tr> 
</table> 

當前版本現在看起來像

// dynamically generated 
<table> 
    <tr> 
     <td><div>Some content</div></td> 
     <td><div>Other content</div></td> 
    </tr> 
</table> 

通知插入一列內一個div。

<格>優點包括

    跨瀏覽器
  • 穩定的行爲和事件支持
  • JavaScript框架支持
  • 默認
  • 顯示塊
  • 容易創建和插入HTML頁面

您可以將HTML表格元素視爲f ollows

<div class="collection"> 
    <div class="row"> 
     <div>Some content</div> 
     <div>Other content</div> 
    </div> 
</div> 

我需要它,因爲我設計了一個使用div的自定義「表格」組件。我的自定義「像表」組件的目的是顯示錶格數據。在許多瀏覽器中穩定的行爲和事件支持(單行和雙列在一行和一列中)是我考慮過的一個功能。注意,例如,ExtJS通過使用div來使用自定義的「像select」組件,並且您知道許多與HTML選擇相關的錯誤。

那麼你怎麼想用div設計HTML表格?

回答

0

如果考慮到語義,則始終考慮Div。

表是易於設計並且可以在沒有太多CSS的情況下快速管理。

+0

表格用於表格*數據*。他們有一個非常具體的sematic:按行和列組織的數據。設計是次要的。 – 2009-08-20 13:47:59

0

如果你正在做的是重新創建它,我覺得這很荒謬。儘管它有合法的用途。表格有用途,divs有用途,關於它的無聊論據只是浪費時間。

- 編輯:

參見Why not use tables for layout in HTML?

+0

+1因爲柔滑正確 – 2009-08-20 13:48:38

1

我認爲這真的取決於爲什麼你需要的div而不是表。

如果您只是想顯示錶格數據,如Excel電子表格,那麼您可以使其交互並仍然使用表格。但是,如果你正在做的事情的外觀可能會改變,或者表可能在另一個對象周圍,那麼就要有創意並且做你的html表格。

聽起來好像你並沒有被事情做完,而是願意走出那個盒子,寫一個解決方案,最好地解決你的問題。

但是,一旦你走這條路線,你會想要在你支持的任何瀏覽器上做廣泛的測試,以確保表格如你所期望的那樣出現,因爲表格是表格,我們知道該期待什麼,CSS和JavaScript只需要更多測試。

+0

好,詹姆斯。我自定義的「像表格」組件目的是按照假設顯示錶格數據。在許多瀏覽器中穩定的行爲和事件支持(單行和雙列在一行和一列中)是我考慮過的一個功能。請注意,例如,ExtJS通過使用div來使用自定義的「像select」組件。你知道許多與HTML選擇相關的錯誤 – 2009-08-20 13:42:30