2011-05-12 34 views
2

我有一個表,並希望包括一個div在裏面,使div封閉了一些錶行。但它不起作用。HTML - 封閉td裏面div

<table> 
<tr><td> one</td></tr> 

<div style="color: yellow;"> 
<tr><td> two</td></tr> 
<tr><td> three</td></tr> 
</div> 

<tr><td> four </td></tr> 
</table> 

是否有可能在div中包含錶行?

非常感謝您提供的任何建議。

+0

正如其他人所說,你想做的事是不可能的。但是,您可以簡單地將兩個設置爲「顏色:黃色」樣式以實現類似的效果。 – MarkD 2011-05-12 13:09:14

回答

4

使用<tbody>標籤組行一起:

<table> 
    <tr><td> one</td></tr> 
    <tbody style="color: yellow;"> 
     <tr><td> two</td></tr> 
     <tr><td> three</td></tr> 
    </tbody> 
    <tbody style="color: red;"> 
     <tr><td> four </td></tr> 
    </tbody> 
</table> 

Test case

4

不,這是不可能的。

您可以將任何內容放入表格的唯一位置是在單元格內。

也許你想要一個表頭和一個頁腳?請注意,頁腳而來的身體前:

<table> 
    <thead> 
    <tr><td> one</td></tr> 
    </thead> 
    <tfoot> 
    <tr><td> four </td></tr> 
    </tfoot> 
    <tbody style="color: yellow;"> 
    <tr><td> two</td></tr> 
    <tr><td> three</td></tr> 
    </tbody> 
</table> 
1

這是可能的(你只是做了它),但是根據W3C規範,你不能table下窩div因爲強烈不推薦。瀏覽器可能會採取不同的行動,因爲這裏不需要定義的行爲。

+0

那麼,你可以把它寫在HTML代碼中,但瀏覽器不會將div元素放在行元素的周圍。 – Guffa 2011-05-12 13:11:11

+0

可能不會。但是我看到很多無效的HTML都是奇怪的東西。誰知道所有瀏覽器的結果如何? – 2011-05-12 13:20:03

+0

非常感謝您的建議,最後選擇了標籤 – tanya 2011-05-12 13:21:23

3

這將是無效的HTML ..所以不可能。

你可以添加一個類到你想要的行並使用css來設置它的樣式。

<table> 
<tr><td> one</td></tr> 
<tr class="colored"><td> two</td></tr> 
<tr class="colored"><td> three</td></tr> 
<tr><td> four </td></tr> 
</table> 

,並在CSS

.colored td{ color: yellow; } 

正如在其他的答案中提到可以使用<tbody> tag w3c docs爲分組,它允許多個實例在表

<table> 
    <tr><td> one</td></tr> 
    <tbody class="colored"> 
     <tr><td> two</td></tr> 
     <tr><td> three</td></tr> 
    </tbody> 
    <tr><td> four </td></tr> 
    <tbody class="colored"> 
     <tr><td> five</td></tr> 
     <tr><td> six</td></tr> 
    </tbody> 
</table> 

演示http://jsfiddle.net/gaby/n2yWe/