我想做以下事情:
.feed > :not(:nth-child(n+5):nth-child(-n+10))
但显然这在 css 中不可用。有没有办法解决?
我想做以下事情:
.feed > :not(:nth-child(n+5):nth-child(-n+10))
但显然这在 css 中不可用。有没有办法解决?
您可以使用
.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))
似乎您正在尝试选择所有不是.feed
. 另一种方法是选择第 1-4 个子元素,然后选择第 11 个以上的子元素。
这将做到:
.feed > :nth-child(-n+4), .feed > :nth-child(n+11) {
...
}