我有時會聽到人們不再使用表來格式化它,這是否開始是一種被遺留下來的趨勢?爲什麼?爲什麼不?它被認爲是愚蠢/過時的使用表格創建表單?
回答
從語義上講,一個表應包含表格數據。從這個意義上說,使用表格標籤沒有任何問題。
哪裏出了問題是,當人們開始使用表格排版,他們這樣做,因爲這很容易。頁面佈局不是表格數據,因此不應在語義上位於表格標記中。
你可以做到這一點,它會工作,但你也可以吃奶油冷,它會工作。這個想法更多的是關於正確的做法,而不僅僅是做這件事。
在一個理想的世界裏,你就可以使用<fieldset>
S,<label>
S和其他形式的相關標籤來生成表單。
<label for="usernameID">Username:</label> <input type="text" name="username" id="usernameID" />
然後,您可以設置標籤和輸入的樣式,並且您的HTML中沒有絨毛。
實際上,你最終可能會把東西包裝在<div>
s和<span>
s中,但只是試着保持它的合理性,而不是與它們一起頂過。如果你曾經想過「我實際上已經有很多這種形式的非形式標籤」,那麼可能有更好的方法來做到這一點(儘管你的方式可能仍然有效)。
對任何非表格數據使用表格通常是不恰當的用法。這主要是因爲表格沒有給通常不會放入電子表格的內容賦予任何語義含義。
可以很容易地用一個表來格式化的形式,特別是如果你已經習慣了它,但它會是一個更好的做法是用別的,更好地描述你在它把數據。
有幾個原因:
標記應該是語義。這意味着您的標記中的元素應該對您的內容說些有意義的內容。段落應該在
<p>
標記中,標題<h1>
到<h6>
等。相比之下,<td>
標記告訴您沒有任何意義,例如<label>
。另一方面,如果要創建元素的元素週期表的表示形式,則<td>
標記非常合適。HTML 5繼續並加強了這一趨勢,因爲現在我們還獲得了像
<nav>
和<section>
這樣的新元素,以使標記和內容之間的連接更緊密。表是一種風格和維護的痛苦。如果你在
<label>
中有一個<input>
,並且你在<table>
的<tbody>
的內部有一個內部的<td>
,那麼這就是一大堆嵌套元素 - 誰想要處理?保持嵌套到最低限度,並且您的CSS變得更加複雜,並且您的標記更易於閱讀。
- 1. 無法創建表格。愚蠢的問題,簡單的查詢
- 2. Lua-Corona SDK-Outlaw [愚蠢]創建表格問題
- 3. 愚蠢的正則表達式混淆
- 4. 創建存儲過程的愚蠢錯誤
- 5. Intelisense很愚蠢
- 6. 你會認爲這是一個類文件的愚蠢使用嗎?
- 7. 愚蠢的JS FUNC
- 8. 使用javascript創建表單時確認表單提交
- 9. 沒有WAMP/XAMPP的windows上的php ...這是一個愚蠢的愚蠢?
- 10. 使用@fontface在wordpress中的愚蠢questinmarks
- 11. 愚蠢的組件應該如何「愚蠢」?
- 12. 愚蠢mysql_fetch_assoc():錯誤
- 13. 愚蠢mod_rewrite問題
- 14. python 2.7 bug還是真的很愚蠢?蟒蛇列表
- 15. java線程簡單的愚蠢程序
- 16. nhibernate.linq簡單(讀愚蠢的)問題
- 17. 愚蠢的簡單語法錯誤
- 18. 使用默認值創建表格
- 19. 使用列表/迭代器愚蠢編譯錯誤(C++)
- 20. jQuery:可能是愚蠢的問題,但
- 21. 多維數組的愚蠢行爲
- 22. 愚蠢的學校運動
- 23. .htaccess愚蠢的問題
- 24. UTF8愚蠢的問題
- 25. 愚蠢的Linux SNMP問題
- 26. 錯誤或我的愚蠢
- 27. jQuery ajax愚蠢的錯誤
- 28. 愚蠢的數學問題
- 29. 可能FileInputStream.available愚蠢的我?
- 30. exec()和我的愚蠢
的可能重複[爲什麼不使用表格的HTML佈局?](http://stackoverflow.com/questions/83073/why-not-use-tables-for-layout-in-html) – itsmatt
@itsmatt:我覺得這樣很好。這是一個更具體,更好的問題,因爲它可以以任何方式使用。 – Nightfirecat
Facebook的「編輯個人資料」表格是一個表格... –