[英]SCSS: use dynamic variable inside @each
I am using SCSS to loop over each size and create individual classes.我正在使用 SCSS 循环遍历每个大小并创建单独的类。
File: styles.scss文件:styles.scss
@import 'variables';
$font-list: xxl xl l m s xs;
@each $size in $font-list {
.font-#{$size} {
font-size: font-#{$size};
}
}
File: _variable.scss文件:_variable.scss
// Font sizes
$font-xxl: 21px !important;
$font-xl: 18px !important;
$font-l: 16px !important;
$font-m: 14px !important;
$font-s: 12px !important;
$font-xs: 10px !important;
Expected result of above code is:上述代码的预期结果是:
.font-xxl{
font-size: $font-xxl;
}
.font-xl{
font-size: $font-xl;
}
.font-l{
font-size: $font-l;
}
.font-m{
font-size: $font-m;
}
.font-s{
font-size: $font-s;
}
.font-xs{
font-size: $font-xs;
}
But the actual code I get is:但我得到的实际代码是:
.font-xxl {
font-size: font-xxl;
}
.font-xl {
font-size: font-xl;
}
.font-l {
font-size: font-l;
}
.font-m {
font-size: font-m;
}
.font-s {
font-size: font-s;
}
.font-xs {
font-size: font-xs;
}
Use a map:使用 map:
$font-sizes: (
xxl: 21px,
xl: 18px,
l: 16px,
m: 14px,
s: 12px,
xs: 10px
);
$font-list: xxl xl l m s xs;
@each $size in $font-list {
.font-#{$size} {
font-size: map-get($font-sizes, $size) !important;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.