Rails 上的 SASS 无效 CSS 错误

Posted

技术标签:

【中文标题】Rails 上的 SASS 无效 CSS 错误【英文标题】:SASS Invalid CSS error on Rails 【发布时间】:2014-02-04 02:24:02 【问题描述】:

我正在尝试在我的 rails 应用程序中使用 http://startbootstrap.com/stylish-portfolio,但是在我的 fashion-portfolio.css.scss.erb 文件中出现以下错误:

ActionView::Template::Error (Invalid CSS after "body ": expected selector or at-rule, was ""

这是我的 css 文件:

@import 'bootstrap'

/* Global Styles */

html,
body 
  height: 100%;
  width: 100%;


.vert-text 
  display: table-cell;
  vertical-align: middle;
  text-align: center;


.vert-text h1 
  padding: 0;
  margin: 0;
  font-size: 4.5em;
  font-weight: 700;

...

【问题讨论】:

很确定这不是产生错误的文件... 这看起来像 FontAwesome 的 CSS 文件。您能否检查stylish-portfolio.css.scss.erb 的实际内容并编辑帖子? 未来读者请注意:CSS 现在是正确的,忽略上述两个 cmets。 :) 【参考方案1】:

我的猜测是您在 stylish-portfolio.css.scss.erb 文件中缺少分号,可能是在 SCSS 变量定义之后?

Here's the original CSS file 我假设您是基于此,也许您想在它和您的之间做一个diff 以确定发生了什么变化。


编辑: 是的,显然第一行之后缺少一个分号。 @import 声明

@import 'bootstrap'

应该是

@import 'bootstrap';

因为您使用的是.scss 扩展。如果您使用的是.sass 扩展名,则可以省略分号。

【讨论】:

愚蠢的错误,在这里发布了错误的文件。实际上,我的 style-portfolio.css.scss 文件中缺少一个分号。无论如何,我会编辑问题,谢谢! 在另一个通知中,如果您能帮我解决我遇到的另一个错误,我将非常感激 (***.com/questions/21142113/…)。我已经在谷歌上搜索了很长时间,但仍然找不到解决方案。 要明确:问题在于 @import 'bootstrap' 行的末尾需要有一个分号。关于“这不是产生错误的文件”的问题的评论似乎与提问者发布的一些先前的 sn-p 有关,但这让我在这个答案中误解了“之后”的意思是“文件中的某个较低的位置”。这里的文档github.com/twbs/bootstrap-sass#sass 感谢弗里茨,我试图编辑答案以澄清这一点。 原始 CSS 文件的链接已失效。

以上是关于Rails 上的 SASS 无效 CSS 错误的主要内容,如果未能解决你的问题,请参考以下文章

Sass 无效的 CSS 错误:“预期的表达式”

仅在 application.css.sass 中无效的 CSS [重复]

Webpack sass-loader 无效的 CSS

node-sass 无效的 CSS

Sass Keyframes 动画混合生成无效的 CSS

Rails ActiveRecord关系无效外键错误