如您所见,我在两个分区内分别有两个表。 Here是jsFiddle的例子!我想要做的是更改firstDiv
的表第一列和第三列的背景颜色,secondDiv
的表格第二列和第四列,仅限CSS
:)< / p>
<div id="firstDiv" style="float:left;margin-right:12px;">
<table width="200" border="1" cellpadding="8">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</div>
<div id="secondDiv">
<table width="200" border="1" cellpadding="8">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</div>
答案 0 :(得分:2)
您正在查看nth-child
与偶数/奇数选择器的典型用法。
以下应该做的伎俩。
#firstDiv td:nth-child(odd)
{
background-color:#cecece;
}
#secondDiv td:nth-child(even)
{
background-color:#cecece;
}
另一种变化: -
#firstDiv td:nth-child(2n+1)
{
background-color:#cecece;
}
#secondDiv td:nth-child(2n+2)
{
background-color:#cecece;
}
如果您想单独选择1st和3,那么您可以使用
#firstDiv td:nth-child(1),
#firstDiv td:nth-child(3) {
background-color:#cecece;
}
#secondDiv td:nth-child(2),
#secondDiv td:nth-child(4) {
background-color:#cecece;
}
参见support
答案 1 :(得分:2)
使用:nth-child
伪选择器。 See the fiddle
答案 2 :(得分:1)
<强>编辑:强>
您也可以使用nth-child
来解决问题,但所有浏览器都不支持nth-child
但是所有浏览器都支持以下方法..
<强> CSS:强>
#firstDiv td,
#firstDiv td + td + td{
background-color:#cecece;
}
#firstDiv td + td,
#firstDiv td + td + td + td{
background-color:#fff;
}
#secondDiv td + td,
#secondDiv td + td + td + td{
background-color:#cecece;
}
#secondDiv td,
#secondDiv td + td + td{
background-color:#fff;
}
答案 3 :(得分:0)
您需要将CSS类应用于表格中每行的相关单元格(例如,第1个TD)。这样,将给出整个列具有不同颜色的印象。如果在CSS类定义中更改背景颜色,则按此设置时 - 更改将立即影响列中的所有单元格。