2013-04-10 75 views
3

我在将Inspiritas作为Ember应用程序出现问题。该index.html的样子如下:Ember.js的CSS继承问题

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>title</title> 
     <meta name="author" content="me"> 
     <!--[if lt IE 9]> 
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> 
     <![endif]--> 
     <link rel="shortcut icon" href="favicon.ico"> 
     <link href="inspiritas.css" rel="stylesheet"> 
    </head> 

    <body> 
     <script type="text/x-handlebars"> 
      <div class="navbar navbar-static-top navbar-inverse"> 
       <div class="navbar-inner"> 
        <div class="container"> 
         ... 
        </div> 
       </div> 
      </div> 
      <div class="container"> 
       <div class="row-fluid"> 
        <div class="span3"> 
         ... 
        </div> 
        {{outlet}} 
       </div> 
      </div><!-- /container --> 
     </script> 

     <script type="text/x-handlebars" id="dashboard"> 
      <div class="span9" id="content-wrapper"> 
       <div id="content"> 
        <section id="tables"> 
         ... 
        </section> 
       </div> 
      </div> 
     </script> 

首先,它不会加载<div class="container">的CSS(而不是一个导航栏里面)。相反,它从body.ember-application继承,并且在这个过程中失去了所有的CSS。不过,这只发生在这个容器上。 LESS,我可以缩小它的唯一的一点是一些定制的造型在这里:

body > .container { 
    // Color the whole container like the sidebar to fix faux columns 
    background: url('images/sidebar_bg.png') repeat @sidebarBackground; 

    .border-radius(@borderRadiusLarge); 

    // Make some space, eh. 
    margin-top: 40px; 
    margin-bottom: 40px; 
} 

UPDATE:嗯,我有不知道为什么,但一个类名称变更后的都走了狗屎,一切都已经失去了造型。

回答

4

您粘贴的CSS规则使用后代选择器,这意味着只有具有container类的元素将直接在body元素下面进行样式化。但是,当Ember插入Handlebars模板时,它会通过一个View来包装它们,从而创建另一个中间人DIV。我想这是你的风格没有出现的责任。

+0

大声笑,是啊我想了很多,我怎么能表达同样的事情在CSS中没有使用后裔选择器? – 2013-04-10 14:25:47

+0

就个人而言,我会添加一个不同的识别类,而不仅仅是“容器”,因为这有点过于通用。如果您决定避免更改HTML,那么您可以使用类似于'body> .ember-view> .container'的东西(但是显然要注意,同一级别的任何其他容器,即使在不同的视图中也会符合该规则) 。 – 2013-04-10 23:37:13

+0

不错,是谢谢理解,如果我要使用另一个识别类,我仍然希望它使用所有容器的属性,这是可能与LESS或CSS?我不会介意改变HTML的说实话,我只是不想失去Bootstrap已经适用于它的格式。 – 2013-04-11 09:25:32