未定义的操作:“500px gte medium-screens”

时间:2015-05-06 16:10:02

标签: sass

我正在尝试将Jake Archibald的移动友好型IE sass mixins ... http://jakearchibald.github.io/sass-ie与Dan Cederholm在他的书“网络设计师的Sass”中所展示的响应式混音组合在一起。我正在使用CodeKit编译文件(详见下文)。

all.scss编译成功,但是all-old-ie.scss失败了。 CodeKit说:

  

错误:未定义的操作:“500px gte medium-screens”。

     

/Applications/MAMP/htdocs/sass-ie-test/sass/_utils.scss第8行,在“响应”中

     

/Applications/MAMP/htdocs/sass-ie-test/sass/_layout.scss

的第4行

     

/Applications/MAMP/htdocs/sass-ie-test/sass/all.scss的第2行

     

/Applications/MAMP/htdocs/sass-ie-test/sass/all-old-ie.scss

的第3行

     

使用--trace进行回溯。

不确定这里发生了什么。我的文件是:

_utils.scss

$medium: 600px;
$large: 950px;

$fix-mqs: false !default;

@mixin responsive($width) {
    @if $fix-mqs {
        @if $fix-mqs >= $width {
            @content;
        }
    }
    @else if $width == medium-screens {
        @media only screen and (min-width: $medium) { 
            @content;
        }
    }
    @else if $width == large-screens {
        @media only screen and (min-width: $large) { 
            @content;
        }
    }
}

$old-ie: false !default;

@mixin old-ie {
    @if $old-ie {
        @content;
    }
}

_layout.scss

article {
    padding: 30px;

    @include responsive(medium-screens) {
        padding: 50px;
    }

    @include responsive(large-screens) {
        padding: 70px;
    }

    @include old-ie {
        //stuff for ie
    }
}

all.scss

@import 'utils';
@import 'layout';

所有的老-ie.scss

$old-ie: true;
$fix-mqs: 500px;
@import 'all';

1 个答案:

答案 0 :(得分:0)

这里的错误很清楚。它明确指出,它无法确定数字atof是否大于或等于(500px)字符串gte

你试图无缘无故地过度复杂化:只使用变量。

medium-screens