我知道这个问题已被多次询问但无论如何我无法弄清楚问题,所以这是我的HTML:
<table class="UMLTable">
<tr>
<th>Table<th>
</tr>
<tr>
<td>Attribute 1<td>
</tr>
<tr>
<td>Attribute 1<td>
</tr>
<tr>
<td>Attribute 1<td>
</tr>
</tr>
</table>
为什么这条线不起作用:
.UMLTable td:nth-child(even){
background-color:blue;
}
答案 0 :(得分:9)
您需要选择第n个tr
元素而不是子td
元素。
你的选择器应该是:
.UMLTable tr:nth-child(even) td {
background-color:blue;
}
CSS未按预期工作的原因是因为td
元素不是兄弟。
.UMLTable tr:nth-child(even) td {
background-color: blue;
}
<table class="UMLTable">
<tr>
<th>Table
<th>
</tr>
<tr>
<td>Attribute 1
<td>
</tr>
<tr>
<td>Attribute 1
<td>
</tr>
<tr>
<td>Attribute 1
<td>
</tr>
</tr>
</table>
答案 1 :(得分:1)