If statement SCSS,如何计算内部if语句

If statement SCSS,如何计算内部if语句,if-statement,math,sass,If Statement,Math,Sass,我想得到序列1,2,5,6,9,10,13,14,17,18 如果n是奇数,那么哪个是2n-1?我不断得到语法错误,因为用变量$n替换了An+b。我做错了什么 我在网上找到了一个公式,它是一个(1/2)(4n-(-1)^n+3),现在只需在第n个子项中插入产品,所以我希望我的输出是 li.level0 { @for $i from 1 through 10 { @if $i % 2 == 0 { $n: 2 * $i -1;

我想得到序列
1,2,5,6,9,10,13,14,17,18

如果n是奇数,那么哪个是2n-1?我不断得到语法错误,因为用变量$n替换了An+b。我做错了什么

我在网上找到了一个公式,它是一个
(1/2)(4n-(-1)^n+3)
,现在只需在第n个子项中插入产品,所以我希望我的输出是

li.level0 {
    @for $i from 1 through 10 {
        @if $i % 2 == 0 {
            $n: 2 * $i -1;
            &:nth-child($n) {
                // when n is even
            }
        } @else { 
            $n: 2 * $i -2;
            &:nth-child($n) {
                // when n is odd
            }   
        }
    }
}

在这里,我找到了一个解决这个问题的有趣方法。 根据 我可以对选择器应用多个第n个子子句 答案是

li.level0:nth-child(1) {}
li.level0:nth-child(2) {}
li.level0:nth-child(5) {}
li.level0:nth-child(6) {}
li.level0:nth-child(9) {}
li.level0:nth-child(10) {}
请看小提琴演示

嗯,这是一个有趣的问题——但实际上这是一个CSS问题,而不是SCSS问题。请参阅,
nth-child()
是一个CSS操作,必须直接获取不确定值“n”。因此,SCSS不能对n的不同值应用条件逻辑;它本质上必须直接采用一个“图形方程”,其中n统一应用于每个整数值。@Katana314,我希望它将每n生成一个整数,而不是公式。例如,SCS将输出每个:n个子级(1){}:==n个子级(2)。。。等等……你能澄清一下你期望的确切输出吗?如果我解决了语法错误,您所拥有的将无法获得您列出的值。我更新了我的问题,即输出应如何。。。请看一看。也相关:
  &:nth-child(odd):nth-child(4n-1) {
    background-color: black;
  }
  &:nth-child(even):nth-child(4n-2) {
    background-color: black;
  }