'总是以相同的颜色开始' 意味着组/子组之后的第一行以红色开始
如果是这样,您可以通过以下方式设置background-color
第一个.row
红色和其他红色magenta
:
.group ~ .row { /* select all rows comes after each group */
background-color: magenta;
}
.group + .row { /* select and override the first row after each group */
background-color: red;
}
JSBin 演示
这些选择器称为通用兄弟组合 ~
器和相邻兄弟组合 +
器,您可以在此处找到更多详细信息。
更新
所有新的 CSS3 选择器如:nth-child(n)
,匹配其父级:nth-of-type(n)
的每个子元素n
或类型。
因此,实现这一点的唯一方法是将.row
s 放入每个块的包装器中:
<div class="group">This is a group</div>
<div class="group subgroup">This is a subgroup</div>
<div class="wrap">
<div class="row">This is the first row</div>
<div class="row">This is the second row</div>
<div class="row">This is the third row</div>
<div class="row">This is the forth row</div>
</div>
并根据它们在er (它们的父级)中的位置来选择odd
和行:even
.wrap
.row:nth-child(odd) {
background-color: red;
}
.row:nth-child(even) {
background-color: magenta;
}
JSBin 演示 #2