this post was submitted on 16 Aug 2023
2 points (100.0% liked)

CSS

477 readers
1 users here now

founded 1 year ago
MODERATORS
2
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/css
 

For a project, I had to compile SCSS code to CSS. Everything seemed to work, except for a @for loop similar to this :

$base-color: #036;

@for $i from 1 through 3 {
  ul:nth-child(3n + #{$i}) {
    background-color: lighten($base-color, $i * 5%);
  }
}

This loop hasn't been compiled at all to CSS, as CSS does not loop though selectors. But is there a way to loop this code with JavaScript ?

all 6 comments
sorted by: hot top controversial new old
[–] burtek 2 points 1 year ago (1 children)

Not sure what issue you had, but the very same code from OP just worked for me on the site linked in the other comment...

[–] [email protected] 1 points 1 year ago

Yes, I should have shown the real @for loop, because in my case the loop number is unknown (it's a variable), so the compiler has trouble compiling it.

I didn't post this is in the right place. I basically need JavaScript code to replicate this SCSS loop in a way that I can loop though this element with an unknown number of times (a variable that can change according to an array.length for instance).

[–] tinker_james 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (1 children)

Basically I entered all my scss code in this site : https://wtools.io/convert-scss-to-css

[–] tinker_james 1 points 1 year ago

I just did a really silly loop (I'm on my phone) and it seemed to work.

@for $t from 1 through 2 {
  .a-#{$t} {
    color: red;
   }
}