2015-09-07 45 views
0

我目前正在遵循Ruby on Rails教程,但我似乎犯了一个我似乎无法理解的错误。如果你问我,我会说这是一个语法错误,但我不知道在哪里。无法识别HTML/CSS div在Ruby on Rails应用程序中

在我的HTML.ERB文件中,我创建了一个名为columns的div。在这个专栏div我也有一个主要的div。在我的CSS文件中,我尝试将一些CSS命令分配给我的div。奇怪的是#main div没有被突出显示,当运行应用程序时,主div也没有得到我刚分配给它的东西,就像白色的背景颜色。任何人都可以帮助我吗?我有一种感觉,我正在做一个愚蠢的错误

HTML.ERB文件:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Pragprog Books Online Store</title> 
     <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %> 
     <%= javascript_include_tag "application", "data-turbolinks-track" => true %> 
     <%= csrf_meta_tags %> 
</head> 

<body class='<%= controller.controller_name %>'> 
    <div id="banner"> 
     <%= image_tag("logo.png") %> 
     <%= @page_title || "Pragmatic Bookshelf" %> 
    </div> 
    <div id="columns"> 
     <div id="side"> 
      <ul> 
       <li><a href="http://www....">Home</a></li> 
       <li><a href="http://www..../faq">Questions</a></li> 
       <li><a href="http://www..../news">News</a></li> 
       <li><a href="http://www..../contact">Contact</a></li> 
      </ul> 
     </div> 
     <div id="main"> 
      <%= yield %> 
     </div> 
    </div> 
</body> 

CSS文件:

#columns { 
    background: #141; 

    #main { 
    margin-left: 17em; 
    padding: 1em; 
    background: white; 
    } 
} 

感谢您的帮助!

+0

您使用SCSS语法吗? –

+0

是的,我不好。它似乎是一个文件扩展名的问题,因为我保存在.css而不是.css.scss中。感谢您指点我! :) – Robin

回答

0

该解决方案正在改变我的文件扩展名。我保存到.css.scss而不是.css,现在它可以工作。

+0

只是为了澄清,你不是编辑CSS然后,你正在编辑一个sass文件。 Sass是一个CSS预处理器,它可以让你更容易编写你的css,但它必须被预编译到css中供浏览器理解。 –

1

您似乎在尝试为您的CSS规则使用更少的语法。 CSS不允许嵌套选择器。你的这个:

#columns { 
    background: #141; 
} 

#columns #main { 
    margin-left: 17em; 
    padding: 1em; 
    background: white; 
}