我正在尝试将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';
答案 0 :(得分:0)
这里的错误很清楚。它明确指出,它无法确定数字atof
是否大于或等于(500px
)字符串gte
。
你试图无缘无故地过度复杂化:只使用变量。
medium-screens