如何使用SASS@for循环将值传递到断点include?

如何使用SASS@for循环将值传递到断点include?,sass,each,compass-sass,breakpoints,mixins,Sass,Each,Compass Sass,Breakpoints,Mixins,我正在尝试设置一个循环,使用我设置的另一个循环为我定义的每个断点创建一组类。这些是英国石油公司的 $mobileMedium : 480px; $tabletVertical : 768px; $desktopNormal : 1024px; $desktopWide : 1200px; 这是我的SCS @each $bpName in "mobileMedium", "tabletVertical", "desktopNormal", "desktopWide"{ @i

我正在尝试设置一个循环,使用我设置的另一个循环为我定义的每个断点创建一组类。这些是英国石油公司的

$mobileMedium : 480px;
$tabletVertical : 768px;
$desktopNormal : 1024px;
$desktopWide : 1200px;
这是我的SCS

   @each $bpName in "mobileMedium", "tabletVertical", "desktopNormal", "desktopWide"{
        @include breakpoint($$bpName) {
        @include generate("$bpName", "Container", "width");
        }
   }
我希望得到类似的东西(示例):

但这是终端返回的结果:

error sass/screen.scss (Line 36 of sass/_grid.scss: 
Invalid CSS after "...ude breakpoint(": expected ")", was "$$bpName) {")
我想这可以归结为如何组合参数中的文本(“$”)和变量


有什么想法吗?

虽然Sass 3.3将引入一个
map
功能,您可以使用它来获得所需的效果,但您不能进行变量名插值(请参阅)

现在,不要迭代字符串列表,而是尝试迭代字符串/变量对列表:

@each $breakpoint in "mobileMedium" $mobileMedium, "tabletVertical" $tabletVertical, "desktopNormal" $desktopNormal, "desktopWide" $desktopWide {
    @include breakpoint(nth($breakpoint, 2)) {
        @include generate(nth($breakpoint, 1), "Container", "width");
    }
}

(我不知道generate mixin是做什么的,我从您的示例中假设您希望第一个参数是一个字符串。)

您不能执行变量名插值,尽管Sass 3.3将引入一个
map
功能,您可以使用它来获得所需的效果(请参阅)

现在,不要迭代字符串列表,而是尝试迭代字符串/变量对列表:

@each $breakpoint in "mobileMedium" $mobileMedium, "tabletVertical" $tabletVertical, "desktopNormal" $desktopNormal, "desktopWide" $desktopWide {
    @include breakpoint(nth($breakpoint, 2)) {
        @include generate(nth($breakpoint, 1), "Container", "width");
    }
}
(我不知道generate mixin是做什么的,我从您的示例中假设您希望第一个参数是字符串。)