选择范围之外的儿童

时间:2013-11-07 22:51:10

标签: css css-selectors

我想做以下事情:

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

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

2 个答案:

答案 0 :(得分:3)

您可以使用

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

Demo

<强>解释

这是因为:nth-child(n+5):nth-child(-n+10)表示:nth-child(n+5)nth-child(-n+10)

但根据德摩根的法律,

  

not(A AND B)= not(A)OR not(B)

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

:not(:nth-child(n+5)), :not(:nth-child(-n+10))

答案 1 :(得分:1)

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

这样做:

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

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