2013-10-09 75 views

回答

5

theadh3,如果你使用h3td元素中,它絕對是好的,但如果你使用h3作爲直接孩子tr是無效的。

中序使用thead你可以使用它像這樣

<table> 
    <thead> 
     <tr> 
     <th>This is table head and not h3</th> 
     </tr> 
    </thead> 
    <tfoot> 
     <tr> 
     <td>Foot Cell</td> 
     </tr> 
    </tfoot> 
    <tbody> 
     <tr> 
      <td> 
      <h3>It's completely valid to put your h3 here</h3> 
      Table cell 
      <p>You can also use p tag here 
      </td> 
     </tr> 
    </tbody> 
</table> 

但是,如果你做這樣的事情,是無效的

<table> 
    <tr> 
     <h3>It's invalid</h3> 
     <td>This is a cell</td> 
    </tr> 
</table> 

你總是可以檢查here您的標記是否有效。

+0

感謝您的描述性答案。 – jeff

+0

@CengizFrostclaw歡迎您:) –

4

沒有元素可以出現在標籤內。在tdelement內部,即在<td>標籤和對應的(可能是隱含的)標籤之間,內容模型是「流內容」。這通常意味着文檔正文內可能出現的任何內容。因此在語法上,允許h3

th的內容模型與HTML4中td的內容模型相同,但in HTML5 CR的內容模型更受限制,並且排除了標題元素等等。

tr元素(錶行)的內容模型只允許thtd孩子,所以沒有別的可能出現直接裏面,只裹着thtd

這些是語法規則,並不意味着所有的內容都會有意義。特別是,th內部的標題元素會相當不正常(標題的標題本身意味着標題單元格),而在td單元格中,它可能是非常有意義的(例如,在一個表中比較兩個文本分段並排)。

+0

對於HTML5的注意事項:'th'的內容模型與'td'不同。 ['th'](http://www.w3.org/TR/html5/tabular-data.html#the-th-element)有:「流內容沒有標題內容後裔」。 – unor

+0

對,謝謝,編輯了答案。 –

相關問題