0

我找到了主题susy、媒体查询和 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

最后一行是第一次调用媒体布局变量“$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).
    }

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

4

1 回答 1

1

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

.l-header,
.l-main,
.l-footer,
.l-region--navigation {
  @include at-breakpoint($desk) {
    @include set-container-width;
  }
}
于 2013-09-23T15:42:33.177 回答