nth-child with mod (or modulo) operator

送分小仙女□ 提交于 2019-11-27 17:29:21

问题


Is it possible to use the nth-child with modulo? I know you can specify a formula, such as

nth-child(4n+2)

But I can't seem to find if there's a modulo operator. I've tried the following examples below, and none seem to work:

nth-child(n%7)
nth-child(n % 7)
nth-child(n mod 7)

回答1:


No, :nth-child() only supports addition, subtraction and coefficient multiplication.

I gather you're trying to pick up the first 6 elements (as n mod 7 for any positive integer n only gives you 0 to 6). For that, you can use this formula instead:

:nth-child(-n+6)

By negating n, element counting is done backwards starting from zero, so these elements will be selected:

 0 + 6 = 6
-1 + 6 = 5
-2 + 6 = 4
-3 + 6 = 3
-4 + 6 = 2
-5 + 6 = 1
...

jsFiddle demo




回答2:


If you want to use nth-child with modulo k, just specify:

nth-child(kn)

For example, if you want to specify style for 3, 6, 9, .. elements, just specify (k = 3), and use:

nth-child(3n)

You can also specify an offset:

nth-child(kn+offset)



回答3:


I know this topic is very old, but here's the answer that's close enought to modulo operator:

:not(:nth-child(7n))

This will select elements 1-6, 8-13 and so on...

:nth-child(an)

The code above will select elements divisible by "a" so adding :not() selector forces CSS to select elements not divisible by "a".

I hope someone find it useful ;)



来源:https://stackoverflow.com/questions/6127814/nth-child-with-mod-or-modulo-operator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!