代码之家  ›  专栏  ›  技术社区  ›  Hassan Khan

Ember.js的CSS继承问题

  •  3
  • Hassan Khan  · 技术社区  · 11 年前

    我在获取 Inspiritas 作为Ember应用程序。index.html如下所示:

    <!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"> (不是导航栏里的那个)。相反,它继承了body.ember-application,并在这个过程中丢失了所有的CSS。不过,这种情况只发生在这个容器上。我唯一能缩小范围的是这里的一些定制造型:

    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;
    }
    

    更新: 好吧,我不知道为什么,但后来一个类名的更改就彻底失败了,一切都失去了风格。

    1 回复  |  直到 11 年前
        1
  •  4
  •   Pascal Zajac    11 年前

    粘贴的CSS规则使用子代选择器,这意味着只有具有 container 直接位于 body 元素的样式。但是,当Ember插入Handlebars模板时,它会通过View将它们包装起来,这会创建另一个中介DIV。我想这是你的样式没有出现的原因。