2013-11-22 133 views
0

我已新增下列宝石我Gemfile SCSS:如何使用与轨道

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

我在app/assetsstylesheets/一个main.css,并且有定义只是单一的风格:

.container { 
    height:500px; 
} 

我只是改名main.cssmain.css.scss并将该文件修改为:

.container 
    height: 500px 

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

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

回答

1

错误消息告诉" height:"被解析为选择器的一部分,并期待更多,因为你没有做{。这意味着sass将其解析为SCSS,而不是SASS。把它解析为上海社会科学院,写在config/environments/development.rb

config.sass.preferred_syntax = :sass 
config.sass.syntax = :sass 
+0

虽然这会起作用,但它会使SCSS解析完全不可用。通过使用正确的文件扩展名,sass-rails已经同时支持两种格式。 – colinm

+0

@colinm OP没有使用正确的文件扩展名。这是我能想到的唯一方法来克服这一点。 – sawa

0

你在写文章SCSS语法,但不SASS。 SASS拥有像CSS一样的新语法。

The original syntax, called "the indented syntax" uses a syntax similar to Haml.[3] It uses indentation to separate code blocks and newline characters to separate rules. The newer syntax, "SCSS", uses block formatting like that of CSS. It uses braces to denote code blocks and semicolons to separate lines within a block. The indented syntax and SCSS files are traditionally given the extensions .sass and .scss respectively. http://en.wikipedia.org/wiki/Sass_(stylesheet_language)

这是典型的上海社会科学院风格

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

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

http://sass-lang.com/guide

1

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

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