在整个Durandal shell中使用带有/固定导航栏的Bootstrap粘性页脚模板

时间:2013-05-13 21:33:05

标签: css twitter-bootstrap durandal

我想知道如何覆盖在div中使用id="applicationHost"在Durandal中注入的shell视图的样式...我正在尝试使用常见的Bootstrap模板(sticky footer with fixed navbar)并且它作为独立工作但是作为一旦我在shell.html中使用它,“包装器”就会失去它的自动高度......

这是我的shell.html

<div>
    <div id="wrapper">
            <!-- ko compose: {view: 'nav'} -->
            <!-- /ko--> 

        <div id="content" class="container-fluid">
            <!--ko compose: { 
                model: router.activeItem, //wiring the router
                afterCompose: router.afterCompose, //wiring the router
                transition:'entrance', //use the 'entrance' transition when switching views
                cacheViews:true //telling composition to keep views in the dom, and reuse them (only a good idea with singleton view models)
                }--><!--/ko-->                                 
        </div>
        <div id="push"></div>
    </div>
     <footer id="footer">
         <div class="container-fluid">
             <div class="row-fluid">
                 <div class="span6"><p class="muted">&copy; ABC Company Inc. 2013. All rights reserved.</p></div>
                 <div class="span6 "><p class="muted pull-right">v0.0.1-debug</p></div>     
             </div>
         </div>
     </footer>

 </div> 

导航子视图只有标准<nav id="mainnav" class="navbar navbar-fixed-top">,样式与Bootstrap示例页面相同......

当我通过Firebug检查样式时,我可以清楚地看到包装div已经失去了它的全高......让我疯了! :)

1 个答案:

答案 0 :(得分:1)

我通过在使粘性页脚工作所需的样式之后将以下样式添加到我的主html页面来修复此问题

/*durandal fixes*/
#applicationHost, #applicationHost > div
{
    height: 100%; 
}

第一个选择器负责主html页面中的applicationHost div,第二个选择器由durandal插入一个(它有一个durandal-wrapper类,所以你可以根据需要使选择器更具体)。由于您的shell.html文件中有一个额外的div,您可能需要以下内容:

/*durandal fixes*/
#applicationHost, #applicationHost > div, #applicationHost > div > div
{
    height: 100%; 
}