Sass @each返回错误:@each指令中的'in`关键字

时间:2014-05-26 10:21:31

标签: css sass

我正在尝试使用以下代码为我的主题标题设置font-size / line-height,我收到错误path-to-my-script/general:40 error: expected 'in' keyword in @each directive

$i : 1;

@each $zSize, $zLine in (34, 42), (26, 32)
{
    h#{$i}
    {
        font   : #{$zSize}px/#{$zLine}px $body-font-family !important;
    }

    $i: $i + 1;
}

我尝试根据@foreachMultiple Assignments

的SASS文档执行此代码

有关如何解决此问题的任何想法?我做错了吗?

2 个答案:

答案 0 :(得分:0)

我从您的代码中获得的SASS 3.3.6 的输出是:

h1 {
  font: 34px/42px serif !important;
} 

h2 {
  font: 26px/32px serif !important;
}

这是正确的输出吗?那是最终的输出吗?

当我执行SASS版本 3.2.19 时出现类似错误:

Invalid CSS after "@each $zSize": expected "in", was ", $zLine in (34..."

您使用的是什么版本的SASS?我认为您需要根据SASS版本以不同的方式使用@each

答案 1 :(得分:-1)

我已针对此问题实施了另一种解决方案。在这里侯可以看到新的实现:

$i                  : 1;

@each $zSizes in (34, 42), (26, 32), (20, 28), (18, 24), (16, 22), (14, 20)
{
    h#{$i}
    {
        font   : #{rem-calc(nth($zSizes, 1))}/#{rem-calc(nth($zSizes, 2))} $body-font-family !important;
    }

    $i: $i + 1;
}