我在我的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"
答案 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;
}