Sass SCSS mixins表示CSS错误无效

Sass SCSS mixins表示CSS错误无效,sass,Sass,我有以下包含mixin的SCSS文件 @mixin respond-to($media) { @if $media == screen-xs { @media only screen and (min-width: $screen-xs-min) { @content; } @at-root .no-mediaqueries #{&}{ @content }; } @else if $media ==

我有以下包含mixin的SCSS文件

@mixin respond-to($media) {
    @if $media == screen-xs {
        @media only screen and (min-width: $screen-xs-min) {
            @content;
        }
        @at-root .no-mediaqueries #{&}{ @content };
    } @else if $media == screen-sm {
        @media only screen and (min-width: $screen-sm-min) {
            @content;
        }
        @at-root .no-mediaqueries #{&}{ @content }
    } @else if $media == screen-md {
        @media only screen and (min-width: $screen-md-min){
            @content;
        }
        @at-root .no-mediaqueries #{&}{ @content }
    } @else if $media == screen-lg {
        @media only screen and (min-width: $screen-lg-min){
            @content;
        }
        @at-root .no-mediaqueries #{&}{ @content }
    }
}
当我尝试访问该网页时,它显示错误:

“…mediaqueries#{”后的CSS无效:预期表达式(例如1px, 粗体),是“&}{@content};”


有什么想法吗?我将sass gem更新为3.2.13,但我不知道compass rails gem是否也更新了。

根目录下的
@at
指令需要sass 3.3,它仍在开发中。您需要使用
--pre
标志升级Sass:
gem安装Sass--pre

不应该
$media==screen xs
像这样:
$media==screen xs”
?这些更改都没有影响问题。值得指出的是,复制媒体查询内外的样式会导致CSS文件非常臃肿。即使在更新sass gem之后,我仍然会遇到同样的错误。是因为compass gem仍然使用sass 3.1吗?请检查您的版本(
sass--version
)?我正在运行Sass 3.3.0.rc.2(Maptastic Maple),您的代码对我来说编译得很好。@user1742188是的,这是因为Compass的版本低于1.0.0(Sass 3.3仅在Compass版本大于v1时受支持)