如何将字符串和变量连接起来,以创建sass中已经存在的变量名?
$size: "sm";
$button-sm: 1rem;
$buttom-md: 1.5rem;
body {
font-size: $button-#{$size};
}
输出
body {
font-size: 1rem;
}
发布于 2021-04-14 12:20:49
简而言之,No,不幸的是,您不能像这样动态地生成变量。您只能动态地更改CSS-属性的值。一个非常接近于您正试图实现的目标的解决方案可能如下所示:
$size: "rm";
$button-font: 1;
body {
font-size: $button-font#{$size};
}
另一个选项可能是创建一个类似于此的font-size
,它使您能够通过将另一个$size
变量传递给混合器来选择您的自定义$size
。
$size: 2;
$sizes: 1rem 2rem 3rem;
@mixin button($index) {
font-size: nth($sizes, $index);
}
body {
@include button($size);
}
有一件事是可能的,那就是把CSS和SCSS变量结合起来。
如果您选择使用这个组合,这可能是您的解决方案:
$size: sm;
:root {
--button: 1em;
--button-sm: 2rem;
--buttom-md: 3rem;
}
body {
font-size: var(--button - $size);
}
https://stackoverflow.com/questions/67091046
复制相似问题