2011-05-12 35 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/