2017-10-04 50 views
-1

我行这样的:CSS选择第一排,

<tr class="team_2">Team Member</tr> 
<tr class="team_2">Team Member</tr> 
<tr class="team_1">Team Member</tr> 
<tr class="team_2">Team Member</tr> 
<tr class="team_1">Team Member</tr> 

我想强调每个团队球队队长的第一个成员。我试过这个:

table tbody tr.team_2:first-of-type, table tbody tr.team_1:first-of-type { 
background: red; 
} 

这突出了第一行,但不是第三行(队长1)。这种类型的选择器可能吗?

+0

有没有考虑使用“class”属性?只设置一个班级,例如“队长”给队长标签,而不是使用选择器,你不能使用选择器来做到这一点 – Kalamarico

+0

https://jsfiddle.net/kjwovpyr/1/ –

回答

3

你必须向后做,请参阅this answer for more info。基本上将所有这些类设置为突出显示颜色,然后再往下看DOM,并将任何后续的兄弟类重置为默认

此外,你应该把td元素在表中:

.team_2, .team_1 { 
 
    background-color: red; 
 
} 
 

 
.team_1 ~ .team_1 { 
 
    background-color: transparent; 
 
} 
 
.team_2 ~ .team_2 { 
 
    background-color: transparent; 
 
}
<table> 
 
<tr class="team_2"><td>Team Member</td></tr> 
 
<tr class="team_2"><td>Team Member</td></tr> 
 
<tr class="team_1"><td>Team Member</td></tr> 
 
<tr class="team_2"><td>Team Member</td></tr> 
 
<tr class="team_1"><td>Team Member</td></tr> 
 
</table>

+2

有'​​'元素表格,我只是为了简化而删除它们。真正的行很大。感谢您的酷招! – hellohellosharp

2

理想情况下,你想补充一类的团队成员和目标的具体类。

HTML

<tr class="team_2"> 
<td class="captain">Team Member</td> 
</tr> 
<tr class="team_1"> 
<td>Team Member</td> 
</tr> 
<tr class="team_1"> 
<td class="captain">Team Member</td> 
</tr> 
<tr class="team_2"> 
<td>Team Member</td> 
</tr> 

CSS

.captain{.....} 

编辑:我已经编辑我的答案作为一个奔了更好对准你的问题。