从类型中独立选择一个类的偶数元素

时间:2014-10-16 14:16:46

标签: html css css-selectors

我有一个具有灰色背景的给定secondclass的元素,我只希望这个类的元素具有红色背景。我不能使用nth-child()选择器,因为这些元素可能不是父母内部唯一的。

我尝试过以下方法:

.secondclass {
    background-color:#aaa;
}

.secondclass:nth-of-type(2n+1) {
    background-color:red;
}

这种方法很好,直到我将同一类型secondclass的元素放在父级(即div)中。这是合理的,因为nth-of-type()引用的类型不是类:

<div>some text</div>
<div class="secondclass"></div>
<div class="secondclass"></div>

Fiddle

是否有纯CSS方式只选择secondclass子集的偶数元素,与其类型无关?

2 个答案:

答案 0 :(得分:2)

为什么不为偶数和不均匀分别制作2个类,只需在必要的地方分配这些类?否则,试图弄清楚如何在CSS中进行逻辑检查似乎需要很长时间才能获得相同的结果。

“偶数”元素的类将具有红色背景,“不均匀”将具有灰色背景。

.uneven {
    background-color:#aaa;
}

.even {
    background-color:red;
}

和divs:

<div>some text</div>
<div class="uneven"></div>
<div class="even"></div>

答案 1 :(得分:1)

我看到的只有一种方法是使用不同的HTML标记。 像:

<div>some text</div>
<span class="secondclass"></span>
<span class="secondclass"></span>

演示:

JS fiddle

但是没有纯CSS解决方案