我找到了主题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).
}
我错过了一些明显的语法错误吗?
答案 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;
}
}