【问题标题】:At-breakpoint fallback causes error断点回退导致错误
【发布时间】:2013-09-23 23:42:33
【问题描述】:

我找到了 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

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

我是否遗漏了一些明显的语法错误?

【问题讨论】:

    标签: internet-explorer susy-compass fallback


    【解决方案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;
      }
    }
    

    【讨论】:

    • 感谢 Eric 的回答,我自己找不到这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 2018-04-16
    相关资源
    最近更新 更多