【发布时间】:2011-09-01 22:30:59
【问题描述】:
是否可以将nth-child 与模一起使用?我知道你可以指定一个公式,比如
nth-child(4n+2)
但我似乎无法找到是否有模运算符。我尝试了以下示例,但似乎都没有:
nth-child(n%7)
nth-child(n % 7)
nth-child(n mod 7)
【问题讨论】:
标签: css css-selectors modulo
是否可以将nth-child 与模一起使用?我知道你可以指定一个公式,比如
nth-child(4n+2)
但我似乎无法找到是否有模运算符。我尝试了以下示例,但似乎都没有:
nth-child(n%7)
nth-child(n % 7)
nth-child(n mod 7)
【问题讨论】:
标签: css css-selectors modulo
如果您想使用 nth-child 和模 k,只需指定:
nth-child(kn)
例如,如果要为 3、6、9、.. 元素指定样式,只需指定 (k = 3),然后使用:
nth-child(3n)
你也可以指定一个偏移量:
nth-child(kn+offset)
【讨论】:
不,:nth-child() 只支持加减法和coefficient multiplication。
我猜您正在尝试获取前 6 个元素(因为 n mod 7 对于任何正整数 n 只会为您提供 0 到 6)。为此,您可以改用以下公式:
:nth-child(-n+6)
通过否定n,元素计数从零开始向后进行,因此将选择这些元素:
0 + 6 = 6
-1 + 6 = 5
-2 + 6 = 4
-3 + 6 = 3
-4 + 6 = 2
-5 + 6 = 1
...
【讨论】:
1 based index,而不是0。你想要-n + 7。
n。 “:nth-child(an+b) 伪类表示法表示在文档树中具有an+b-1 个兄弟姐妹之前 的元素,对于n 的任何正整数或零值”它只说明第一个孩子的索引为 1,这与 n 的索引无关。
我知道这个话题很老了,但这里的答案已经足够接近模运算符了:
:not(:nth-child(7n))
这将选择元素 1-6、8-13 等等...
:nth-child(an)
上面的代码会选择能被“a”整除的元素,所以添加 :not() 选择器会强制 CSS 选择不能被“a”整除的元素。
【讨论】:
n mod 7 匹配 n 不能被 7 整除的任何元素。这看起来比我的答案更接近原始问题的要求,尽管我们'仍然需要得到提问者的确认。
我知道这个话题很老了,但这里是答案:
.parent :nth-child(4n):nth-last-child(2) ~ *,
.parent :nth-child(4n):nth-last-child(3) ~ *,
.parent :nth-child(4n):nth-last-child(4) ~ * {
color: gold;
}
此选择器针对您的 nth-child 公式表示的最后一个完整分组子级中最后一个子级之后的所有子级。
【讨论】:
如果您想使用 n=2 进行模数化,则可以使用偶数或奇数。
tr:nth-child(even) {
background-color: #dddddd;
}
【讨论】: