【问题标题】:Rails SASS compiler doesn't know compass animationRails SASS 编译器不知道指南针动画
【发布时间】:2015-02-11 21:58:52
【问题描述】:

我正在使用

@include keyframes(small) {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.small {
  @include animation(small 1s infinite);
}

Rails 给了我以下错误:

Sass::SyntaxError at /
Undefined mixin 'keyframes'. (or 'animation')

我正在使用最新的 SASS 和 compass --pre (alpha),它应该支持动画。

【问题讨论】:

  • 顺便说一句,--pre 标志不再需要,因为 Compass 1.x 被认为是稳定的。您使用的 alpha 版本实际上可能比稳定版本旧。
  • 您实际上是在从 Compass 导入必要的文件以获取动画混合吗?
  • @cimmanon @import 'compass/css3';
  • 当我执行compass -v 时,我得到0.12。但是我也安装了1.0.1,并且在gemfile中我有gem "compass-rails", "~> 1.1.3"???

标签: ruby-on-rails sass compass-sass css-animations compass


【解决方案1】:

尝试在您的 GemFile 中使用以下 gem 组合:

gem "sass", "~> 3.2.19"
gem 'sass-rails', '~> 4.0.4'
gem "compass", "~> 0.12.7"
gem 'compass-rails', '~> 2.0.0'

然后确保您的 scss 文件顶部有以下几行:

@import "compass";
@import "compass/css3";

【讨论】:

  • 这无济于事,因为 Compass 0.12 是整个问题。 OP 需要 Compass 1.x(取决于 Sass 3.3)。
  • 我的错。我确信我在我的一个项目中使用了 Compass mixins 来制作动画,但我再次检查并发现它是纯 CSS。
【解决方案2】:

以下 gemfile 更新应该可以做到...

# compass 1.0 needed to use keyframe mixin
# but compass 1.0 needs Sass 3.3 (further below)
gem "compass", "~> 1.0" 
gem 'compass-rails'

# use sass-rails ~>5.0 to get Sass ~>3.3 
# needed for compass ~>1.0 
# which is needed for keyframes mixin
gem 'sass-rails', "~>5.0"

【讨论】:

    猜你喜欢
    • 2013-12-29
    • 2018-08-17
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 2012-08-10
    相关资源
    最近更新 更多