Sass mixin变量参数错误

时间:2014-05-13 09:05:38

标签: css sass mixins

使用变量参数时,我遇到了一个不一致的错误。

项目中有一些mixin接受变量参数。其中之一是;

@mixin box-shadow($shadows...) {
  -moz-box-shadow: $shadows;
  -webkit-box-shadow: $shadows;
  box-shadow: $shadows;
}

如您所见,它接受变量参数。 除了我工作地点的几台机器外,这种方法都可以正常使用。

在无法正常工作的机器上,我们收到以下错误;

  

“... x-shadow($ args”:expected“)”之后的无效CSS,是“......”{“

我们都运行相同版本的SASS, Sass 3.3.7(Maptastic Maple)

除了可能导致错误的SASS版本之外还有什么吗? 在尝试解决此问题时,我们都使用完全相同的代码库。

1 个答案:

答案 0 :(得分:0)

应该是:

@mixin box-shadow($shadows) {
  -moz-box-shadow: $shadows;
  -webkit-box-shadow: $shadows;
  box-shadow: $shadows;
}

您的省略号似乎会导致问题。

此外,您可能需要考虑使用SASS Mixin库为您执行大量这些常见的供应商前缀作业。我用波本语 - http://bourbon.io/

此外还有各种其他好处,例如将像素转换为rems等功能。

<强>更新

我刚刚意识到你正试图使用​​变量参数。在这种情况下,从文档判断语法看起来是正确的。确保您使用的是SASS 3.2 +

http://chriseppstein.github.io/blog/2012/08/23/sass-3-2-is-released/

我正在运行SASS 3.3.6并且我没有使用您的代码收到此错误。

我建议您在项目中使用Gemfile并从中构建。这将确保您真正使用正确的宝石,并且每个人都在相同的设置上。

我的Gemfile适用于您的代码:

# Install these gems by running 'bundle install'.
# Install bundle from these instructions: http://bundler.io/

source 'https://rubygems.org'

# Using Compass Alpha release due to compatability with SASS 3.3+
gem 'sass', '3.3.6'
gem 'compass', '~> 1.0.0.alpha.19'
gem 'bourbon', '4.0.1'
gem 'neat', '1.6.0'