断点回退导致错误

时间:2013-09-23 08:53:06

标签: internet-explorer susy-compass fallback

我找到了主题susy, media queries, and lt IE9,其中声明可以将“回退类”添加到变量中,以便将其应用于使用该变量的所有指定的断点处。

所以我改变了我的变量:

    $desk: 58em 12;

    $desk: 58em 12 lt-ie9;

但这会导致如下错误:

    Syntax error: Base-level rules cannot contain the parent-se1ector-referencing character ' & ' .
    on line 91 of C: /Ruby200/lib/ruby/gems/2.0.0/gems/susy-1.0.9/sass/susy/_media.scss,         in ‘ Gcontent '
    from line 15 of C: /Ruby200/lib/ruby/gems/2.0.0/gems/susy-1.0.9/sass/susy/_media.scss, in ‘ layout '
    from line 54 of C: /Ruby200/lib/ruby/gems/2.0.0/gems/susy-1.0.9/sass/susy/_media.scss, in ‘ at-breakpoint '
    from line 87 of C: /localpath/sass/layouts/project/site.layout.scss

最后一行是第一次调用media-layout varible“$ desk”的第一行。

    @include at-breakpoint($desk) {
    .l-header,
    .l-main,
    .l-footer,
    .l-region--navigation {
      @include set-container-width; // Reset only the container width (elements have already been declared as containers).
    }

我错过了一些明显的语法错误吗?

1 个答案:

答案 0 :(得分:1)

这是一个Sass问题,应该在Sass 3.3中修复(目前处于alpha状态)。为了设置一个回退类,Susy必须使用Sass父选择器(&) - 但是当没有父选择时该选择器会失败。我们一直在跟踪问题on GitHub,您可以在该主题中找到一些解决方法。基本上,如果你使用回退类(在Sass 3.3之前),你必须将at-breakpoint嵌套在另一个选择器中。在大多数情况下(包括你的),在现有选择器中移动mixin非常简单:

.l-header,
.l-main,
.l-footer,
.l-region--navigation {
  @include at-breakpoint($desk) {
    @include set-container-width;
  }
}