我有一堆div:
<div>
<div class="meat">Some stuff</div>
<div class="meat">Some stuff</div>
<div class="meat">Some stuff</div>
<div class="meat">Some stuff</div>
<div class="dairy">Some stuff</div>
<div class="dairy">Some stuff</div>
<div class="dairy">Some stuff</div>
</div>
我需要设置每个类的第一个样式,并且无法控制html ...最好是纯CSS,但jQuery也可以。
答案 0 :(得分:8)
解决方案1:为不是第一个元素的元素定义特定样式:
.meat {
// applies to all
}
.meat + .meat {
// applies to those that aren't the first one
}
例如,如果要将第一个.meat
元素用红色着色,请执行以下操作:
.meat {
color: red;
}
.meat+.meat{
color: inherit;
}
Documentation about the + pattern :
E + F匹配前面有兄弟元素E的任何F元素。
解决方案2 ::not
与+
和first-child
结合使用{/ 1}}:
.dairy:first-child, :not(.dairy)+.dairy {
color: red;
}
此选择器定位类dairy
的任何元素
dairy
<强> Demonstration 强>
注意:
~
代替+
答案 1 :(得分:2)
您可以尝试:( jq解决方案)
$(".meat:eq(0),.dairy:eq(0)").css('color','red');