我非常好奇(这就是全部),以了解如何选择除前两位和后两位元素之外的所有子元素。CSS选择除前两位和后两位以外的所有子元素
I've a method,但它很讨厌,难以理解。必须有一个更清晰的方法,不需要8个伪选择器。
:not(:nth-child(1)):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)) {
background: purple;
}
是的,这是非常可怕的。它从字面上选择所有元素:不是第一个或第二个第一个或最后一个。必须有一种方法使用2
作为半变量,而不是在伪选择器上堆积。
I thought of another one(仍然凌乱):
:not(:nth-child(-1n+2)):not(:nth-last-child(-1n+2)) {
background: purple;
}
在我的情况下(n + 2)只选择第一个元素。但是(n + 3)解决了这个问题。 – 2013-03-24 21:09:31
是的,'n + 2'会包含第二个。只是一个':不是',然后是2和3,看起来很奇怪=) – Rudie 2013-03-24 21:11:03
好吧,我误解了*的第一个和最后两个*部分的问题。更新我的答案和小提琴。 – MarcinJuraszek 2013-03-24 21:24:31