cacl() function invalid in for loop
Opened this issue · 3 comments
LouisaNikita commented
calc() function invalid in for loop,but avaliable outside the for loop
`
@for $i from 2 to 12 {
&.is-circle$i {
transform: rotate(calc(360deg / 12 * ($i - 1)));
&::before {
animation-delay: calc(-1.2s + 1.2s / 12 * ($i - 1));
}
}
}
`
travco commented
Hey @LouisaNikita, is there any chance you can post the load order of your postcss plugins?
That might help identify the issue, as you (should) be able to do this.
drewbaker commented
I ran into this error today with a Nuxt site. Works locally, but on Netlifty it errors out at build:
3:09:39 PM: ERR! JisonLexerError: Lexical error on line 1: Unrecognized text.
3:09:39 PM: ERR!
3:09:39 PM: ERR! Erroneous area:
3:09:39 PM: ERR! 1: $(i) * 40ms
3:09:39 PM: ERR! ^..^
3:09:39 PM: ERR! at /opt/build/repo/components/PanelMenu.vue:99:21
3:09:39 PM: ERR! at Object.parseError (/opt/build/repo/node_modules/postcss-calc/dist/parser.js:1200:15)
3:09:39 PM: ERR! at Object.lexer_parseError [as parseError] (/opt/build/repo/node_modules/postcss-calc/dist/parser.js:2333:44)
Because of this code:
/* Stagger animate menu items */
@for $i from 1 to 50 {
.menu-item:nth-child($(i)) {
transition-delay: calc($(i) * 40ms);
}
}
Using @nuxt/postcss8
, and my plugin order is:
postcss: {
plugins: {
"postcss-for": {},
"postcss-nested": {},
"postcss-custom-media": {},
"postcss-hexrgba": {},
},
},
drewbaker commented
I managed to get a successful deploy by just changing the syntax to this:
@for $i from 1 to 50 {
.menu-item:nth-child($(i)) {
--index: $(i);
transition-delay: calc(var(--index) * 40ms);
}
}