0

我想做以下事情:

.feed > :not(:nth-child(n+5):nth-child(-n+10))

但显然这在 css 中不可用。有没有办法解决?

4

2 回答 2

3

您可以使用

.feed > :not(:nth-child(n+5)), .feed > :not(:nth-child(-n+10)) {
    background: red;
}

演示

解释

那是因为:nth-child(n+5):nth-child(-n+10)意味着:nth-child(n+5)AND nth-child(-n+10)

但根据德摩根定律,

非(A AND B)=非(A)或非(B)

然后,如果你想否定它,而不是:not(:nth-child(n+5):nth-child(-n+10)),你需要 OR 运算符,

:not(:nth-child(n+5)), :not(:nth-child(-n+10))
于 2013-11-07T23:07:51.157 回答
1

似乎您正在尝试选择所有不是.feed. 另一种方法是选择第 1-4 个子元素,然后选择第 11 个以上的子元素。

这将做到:

.feed > :nth-child(-n+4), .feed > :nth-child(n+11) {
    ...
}

http://jsfiddle.net/9ZSeZ/1/

于 2013-11-07T23:00:42.397 回答