2014-07-02 24 views
-1

我試圖將兩個表之間的東西,但something行是表外的Chrome瀏覽器:爲什麼這個元素在桌子外面?

enter image description here

我不知道爲什麼,似乎除非something是內td標記,它總是在表外。

這是爲什麼?我只想要一些可以佔據整行的行,這就是爲什麼我放棄td標記的原因。

這裏的源代碼:

<html> 
    <head> 
     <style> 
      td { border: 1px solid #666; } 
     </style> 
    </head> 
    <body> 
     <table border="0" cellspacing="5" cellpadding="5"> 
      <thead> 
       <tr> 
        <th>Header</th> 
        <th>Header</th> 
        <th>Header</th> 
       </tr> 
      </thead> 
      <tr> 
       <td>Data</td> 
       <td>Data</td> 
       <td>Data</td> 
      </tr> 
      <tr> 
       something 
      </tr> 
      <tr> 
       <td>Data</td> 
       <td>Data</td> 
       <td>Data</td> 
      </tr> 
     </table> 
    </body> 
</html> 
+1

也許是因爲您的標記無效?你不能只放置行之間的東西,但行。 – melancia

+1

@MelanciaUK不是' xx'?這是一個'行',對吧? – daisy

+0

我沒有注意到在那裏打開/關閉'tr'標籤。我的錯。 – melancia

回答

4

你寫裏面<tr>文本的方式並不能直接有效的HTML和結果將被打破布局。如果您正在使用表格,請使用<td>編寫內容。根據發佈的表結構案例,每<tr>包含3 <td>

所以你需要這樣寫。那麼只有你會得到一個適當的表格佈局。

<tr> 
    <td colspan="3">something</td> 
</tr> 
3

您不能設置行之間的事情,但行。 <tr>是連續的,你是對的。但是一行必須有列才能成爲有效的行。

這應該是正確的:

<html> 
    <head> 
     <style> 
      td { border: 1px solid #666; } 
     </style> 
    </head> 
    <body> 
     <table border="0" cellspacing="5" cellpadding="5"> 
      <thead> 
       <tr> 
        <th>Header</th> 
        <th>Header</th> 
        <th>Header</th> 
       </tr> 
      </thead> 
      <tr> 
       <td>Data</td> 
       <td>Data</td> 
       <td>Data</td> 
      </tr> 
      <tr> 
       <td colspan="3">Something</td> 
      </tr> 
      <tr> 
       <td>Data</td> 
       <td>Data</td> 
       <td>Data</td> 
      </tr> 
     </table> 
    </body> 
</html>