为什么我不能在我的 Sass 循环中使用 @include 内的变量?
Why can't I use variable inside @include in my Sass loop?
假设我有以下混入:
@mixin type-h1 {
font-size: 36px;
font-weight: bold;
}
@mixin type-h2 {
font-size: 28px;
font-weight: bold;
}
@mixin type-h3 {
font-size: 24px;
font-weight: bold;
}
现在我创建了实用程序 类:
.type-h1 {
@include type-h1;
}
.type-h2 {
@include type-h2;
}
.type-h3 {
@include type-h3;
}
到目前为止一切都很好。现在我想简化我的代码并使用 Sass 循环生成实用程序 类。这是我的:
$variable: 1, 2, 3;
@each $value in $variable {
.type-h#{$value} {
@include type-h$variable;
}
}
有人知道为什么这个循环不起作用吗?
您可以使用变量创建地图:
$vars: (1: 36px, 2: 28px, 3: 24px);
然后将mixins合并为一个:
@mixin types($value) {
font-size: $value;
font-weight: bold;
}
最后您可以通过以下方式生成实用程序:
@each $size, $value in $vars {
.type-h#{$size} {
@include types($value);
}
}
假设我有以下混入:
@mixin type-h1 {
font-size: 36px;
font-weight: bold;
}
@mixin type-h2 {
font-size: 28px;
font-weight: bold;
}
@mixin type-h3 {
font-size: 24px;
font-weight: bold;
}
现在我创建了实用程序 类:
.type-h1 {
@include type-h1;
}
.type-h2 {
@include type-h2;
}
.type-h3 {
@include type-h3;
}
到目前为止一切都很好。现在我想简化我的代码并使用 Sass 循环生成实用程序 类。这是我的:
$variable: 1, 2, 3;
@each $value in $variable {
.type-h#{$value} {
@include type-h$variable;
}
}
有人知道为什么这个循环不起作用吗?
您可以使用变量创建地图:
$vars: (1: 36px, 2: 28px, 3: 24px);
然后将mixins合并为一个:
@mixin types($value) {
font-size: $value;
font-weight: bold;
}
最后您可以通过以下方式生成实用程序:
@each $size, $value in $vars {
.type-h#{$size} {
@include types($value);
}
}