如何使用scss与rails

时间:2013-11-22 18:23:33

标签: ruby-on-rails ruby

我在我的Gemfile添加了以下gem:

gem "sass-rails", "~> 4.0.0"

我的main.css中有一个app/assetsstylesheets/,并且只定义了一种风格:

.container {
  height:500px;
}

我刚刚将main.css重命名为main.css.scss并将文件修改为:

.container 
  height: 500px

似乎文件没有被正确解析。谁能告诉我这里可能出现什么问题?这是错误:

Invalid CSS after "  height:": expected pseudoclass or pseudoelement, was " 500"

3 个答案:

答案 0 :(得分:1)

错误消息告诉" height:"被解析为选择器的一部分,因为你没有{所以期待更多。这意味着sass将其解析为SCSS,而不是SASS。要将其解析为SASS,请写入config/environments/development.rb

config.sass.preferred_syntax = :sass
config.sass.syntax = :sass

答案 1 :(得分:1)

您在SCSS文件中使用Sass语法。 sass-rails确定从文件扩展名中使用哪个解析器。

Sass进入.sass个文件; SCSS进入.scss个文件。

答案 2 :(得分:0)

您正在编写SCSS语法但不是SASS。 SASS有新的语法,就像CSS一样。

  

原始语法称为“缩进语法”,使用类似于Haml的语法。[3]它使用缩进将代码块和换行符分开以分离规则。较新的语法“SCSS”使用类似CSS的块格式。它使用大括号来表示代码块和分号来分隔块中的行。传统上,缩进语法和SCSS文件分别使用扩展名.sass和.scss。 http://en.wikipedia.org/wiki/Sass_(stylesheet_language)

这是典型的SASS风格

$font-stack:    Helvetica, sans-serif;
$primary-color: #333;

body {
  font: 100% $font-stack;
  color: $primary-color;
}

http://sass-lang.com/guide