CSS第n个子循环样式

CSS第n个子循环样式,css,css-selectors,sequence,Css,Css Selectors,Sequence,我有6种颜色的序列: 红色的 绿色的 蓝色的 青色 洋红 黄色的 而元素1是红色的 元素2是绿色的…等等 列表中可以有无限数量的项目,并且应保持颜色顺序 最简单的方法是使用第n个子项(n%6),但我们知道第n个子项没有模块运算符 顺序如下: 第n个孩子(n):红色 第n个孩子(2n):绿色 第n个孩子(3n):蓝色 第n个孩子(4n):青色 不起作用,因为第八种元素是青色的,但它应该是绿色的 偏移也不起作用,因为它只适用于第一次出现 这个问题能解决吗?你可以这样做 n个孩子(6n-5

我有6种颜色的序列:

  • 红色的

  • 绿色的

  • 蓝色的

  • 青色

  • 洋红

  • 黄色的

而元素1是红色的

元素2是绿色的…等等

列表中可以有无限数量的项目,并且应保持颜色顺序

最简单的方法是使用第n个子项(n%6),但我们知道第n个子项没有模块运算符

顺序如下:

  • 第n个孩子(n):红色
  • 第n个孩子(2n):绿色
  • 第n个孩子(3n):蓝色
  • 第n个孩子(4n):青色
不起作用,因为第八种元素是青色的,但它应该是绿色的

偏移也不起作用,因为它只适用于第一次出现

这个问题能解决吗?

你可以这样做

  • n个孩子(6n-5)
    每6:th从6-5=1开始
  • n个孩子(6n-4)
    每6:th从6-4=2开始
  • 等等
  • n个子(6n-0)
    对于每6:th,从6-0=6开始(可以写成
    n个子(6n)
或者像这样(更新了,在这种情况下可能更合适)

  • n子代(6n+1)
    每6:th从1开始
  • n子代(6n+2)
    每6:th从2开始
  • 等等
  • n个孩子(6n+6)
    每6:th从6开始(可以写成
    n个孩子(6n)
/*左分区*/
.左分区:第n个孩子(6n-5){
背景:红色;
}
.左分区:第n个孩子(6n-4){
背景:绿色;
}
.左分区:第n个孩子(6n-3){
背景:蓝色;
}
.左分区:第n个子分区(6n-2){
背景:青色;
}
.左分区:第n个子分区(6n-1){
背景:洋红;
}
.左分区:第n个子(6n){
背景:黄色;
}
/*右分区*/
.右分区:第n个子项(6n+1){
背景:红色;
}
.右分区:第n个子项(6n+2){
背景:绿色;
}
.右分区:第n个子项(6n+3){
背景:蓝色;
}
.右分区:第n个子项(6n+4){
背景:青色;
}
.右分区:第n个子项(6n+5){
背景:洋红;
}
.右分区:第n个孩子(6n){
背景:黄色;
}
/*仅适用于此演示*/
div div:n子级(6n)+div{
边缘顶部:15px;
}
.左,.右{
显示:内联块;
宽度:33%;
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
但是我们知道,对于第n个孩子,没有模运算符

是什么让你认为第n个孩子没有模数语法

如果需要
:第n个子项(x)
,其中
x∈ ℤa
a∈ ℕ,则语法为

:第n个子项(an+b)
其中
b∈ ℤ
x
的任何代表,使得
b

正如你在LGSon的回答中所看到的,通常
b
是在这些集合中选择的

  • {0,1,…,a-1}
  • {-a,-a+1,…-1}
  • {-a+1,…-1,0}

注意:在这个答案中,
ℤa
表示
ℤ⧸A.ℤ,即基于您的序列的。

为什么第一个元素是黄色而不是红色?而元素1是黄色。输入错误,应该是,而元素1是红色的。“黄色”是我在制定问题时犯的错误(我的实际应用程序与此完全不同)。抱歉,回答得好。。。但可能是OP不理解数学符号,但第一个元素不是黄色(这似乎是OP要求…我真的不理解)@vals我认为这是问题中的输入错误,如果不是,我将更新我的答案。。。我想我们都在等待j08691评论的回复。我知道你做了什么,基本上:-(6n)=[0,6,12,18,…]%6=0(6n-5)=[1,7,13,19,]%6=1-…-(6n-1)=[1,5,11,17,]%6=5。您首先决定,它应该只选择所需模块的倍数N,然后再减去每个可能的[module]结果。有什么方法可以像第N个子模块中的
3n-N
那样执行吗?@l3lue可能会。第二个
n
代表什么意思?