Cod*_*ker 6 css css-selectors css3
如果它是奇数,我需要定位最后一个元素.
可以说我有3个元素.我想只针对第3个元素,因为它的最后一个和它的奇数.但是,如果我有1个元素,我不希望这个规则适用,即使这实际上是奇数也是如此.
1 2 3(target)
1 2 3 4 5(target)
1 2(don't target)
1(don't target)
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?
所以我基本上想要结合起来:nth-child(odd),:not(:only-child)并且只有在适用的情况下.
lon*_*day 10
我想你的意思是你要选择一个元素
将所有这些结合起来相当简单:
:nth-child(odd):last-child:not(:only-child) {
color: blue; // or whatever
}
Run Code Online (Sandbox Code Playgroud)
有多种方法可以做到这一点,如果对您而言具有不同程度的特异性.
一,正如lonesomeday所建议的那样,具有特异性(0,3,0)(3个伪类,:not(:only-child)同样具体:only-child):
:nth-child(odd):last-child:not(:only-child)
Run Code Online (Sandbox Code Playgroud)
另一个,具有特异性(0,2,0):
:nth-child(2n+3):last-child
Run Code Online (Sandbox Code Playgroud)
表达式2n + 3从第3个孩子开始匹配,无需使用:not(:only-child).(相比之下,"odd"关键字相当于2n + 1.)
Aiv*_*kas -2
应该发挥魔法,你可以使用 not 作为选择器
target:not(:first-child):last-child { /*some magic css*/ }
Run Code Online (Sandbox Code Playgroud)