Mixin容器接受0个参数但传递了2个参数

时间:2013-05-08 19:58:17

标签: html css sass compass-sass susy-compass

我正在尝试使用zinniacompasssusysass - django博客中展示未来的css。我已通过运行/var/www/static/zinnia将我的百日草模板成功复制到python manage.py collectstatic。然后我编辑一个sass文件,cd/var/www/static/zinnia/,然后运行compass compile。这会产生以下错误并导致我的博客不再使用css进行渲染!

error sass/screen.scss (Line 27 of sass/partials/_layouts.scss: Mixin container takes 0 arguments but 2 were passed.) #from running compass compile in shell

在我的博客网页的顶部,在Firefox中显示以下内容:

Syntax error: Mixin container takes 0 arguments but 2 were passed.
     on line 27 of /var/www/static/zinnia/sass/partials/_layouts.scss, in `container'
     from line 27 of /var/www/static/zinnia/sass/partials/_layouts.scss
     from line 20 of /var/www/static/zinnia/sass/screen.scss

Relevant zinnia code is visible on github.目前,代码是github存储库的虚拟镜像。这是line 27,这个错误似乎源于。

_layouts.scss的第27行:

    @include container($total-columns, $screen-layout);

作为线索,我能够学习this。但是,我更愿意使用最新的宝石版本。我不知道这是否与较旧的宝石编译,但这个拼图的答案有点切线(虽然有用)。因此,我需要一个能够无误编译的答案。

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

我遇到了同样的错误,即使是在susy之前导入指南针的顺序。修复它的原因是卸载this no-longer-used gem: compass-susy-plugin

答案 1 :(得分:2)

使用susy 2.1.1时出现了同样的错误。通过将@import "susy"替换为@import "susyone"来解决此问题。这种方式susy读取susy 1.x语法。

答案 2 :(得分:1)

更新的答案 - 导入订单

我怀疑(我没有测试方法)错误是在组件的加载顺序中。在this zinnia file中,第7-8行看起来像这样:

@import "susy";
@import "compass";

因此,compass mixin(that does not have variables)的container定义将覆盖susy的{​​{1}}混合container susy。由于compass@import "compass"; @import "susy"; 建立的,因此订单应该是:

{{1}}

这也可以解决您注意到的其他问题。