使用nth-child值作为SASS变量

zes*_*ssx 32 css sass css-selectors

有没有办法将该nth-child值用作SASS变量?

使用示例:

div:nth-child(n) {
    content: '#{$n}'
}
Run Code Online (Sandbox Code Playgroud)
div:nth-child(n) {
    background: rgb(#{$n}, #{$n}, #{$n});
}
Run Code Online (Sandbox Code Playgroud)

mya*_*uri 60

我认为没有办法做到这一点.但是您可以使用@for指令循环遍历已知数量的元素:

$elements: 15;
@for $i from 0 to $elements {
  div:nth-child(#{$i + 1}) {
     background: rgb($i, $i, $i);
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果我还有100万美元,那就太好了.你所要求的是无法做到的. (16认同)
  • @gwho你不能这样做,因为CSS不知道DOM中的内容. (5认同)
  • 这就是我今天正在做的事情,很高兴找到一种方法来对未知数量的元素执行此操作。 (3认同)

小智 6

你可以像这样使用mixin:

 @mixin child($n) {
     &:nth-child(#{$n}){
           background-color:rgb($n,$n,$n);
     }
 }

 div{
     @include child(2);
    }
Run Code Online (Sandbox Code Playgroud)

编译后的CSS看起来像:

div:nth-child(2) {
   background-color: #020202;
}
Run Code Online (Sandbox Code Playgroud)

在这里查看示例

  • 谢谢,但目标是避免出现多个类似的行。 (2认同)