如果正好有 5 个,我想要所有 5 个孩子。(如果有 4 个或 6 个,不要选择任何孩子。)
为了说明:http: //jsfiddle.net/rudiedirkx/339H6/3/show/
如果有 1 个非常简单的元素,您可以选择所有元素:
:first-child:last-child
您可以选择前 5 个和后 5 个中的元素:
:nth-child(-n+5):nth-last-child(-n+5)
(演示中的红色)两者都没有做我想要的,但说明了一点:1个选择器,几个元素。
如果有 5 个和 5 个选择器,您可以选择所有子级:
li:nth-child(1):nth-last-child(5),
li:nth-child(2):nth-last-child(4),
li:nth-child(3):nth-last-child(3),
li:nth-child(4):nth-last-child(2),
li:nth-child(5):nth-last-child(1)
(小提琴中的黄色)但这太可怕了。当我决定我也喜欢 4 时,这是双重可怕的:如果恰好有 4 或 5 个元素,请全部选择它们。这将需要 4 个更多的选择器。
有没有一种我想念的体面的方法来做到这一点?我觉得自己:nth-child(-n+5):nth-last-child(-n+5)
走上了正轨,但选择的范围太广了。(小提琴中的绿色。)