让Affix适用于导航和导航栏

时间:2013-08-26 18:01:27

标签: html5 twitter-bootstrap navbar affix

我有一些html用于我的研究小组制作的软件库网站页面的布局。这是通过bootstrap 3完成的。我想要实现的是导航栏,它位于jumbotron正下方,一旦它向上滚动就会固定到页面顶部。我也喜欢页面左栏中的nag元素的类似行为 - 当页面滚动并且它们到达顶部时 - 它们然后变得固定并保持在那里。从阅读中我了解到Twitter中的Affix是实现此目的的方法,但我并不完全确定我能想出如何做到这一点。

使用HTML下面发生的事情是滚动到目前为止,应该跨越页面的导航栏变得压扁 - 导航栏链接移动到导航栏品牌下面的一行,并且条形图不再跨越页面。一旦我弄清楚如何使用导航栏使用词缀,我希望将它与nav元素一起使用。任何人都可以解释我需要做些什么来达到效果吗?我对网页设计很新。

谢谢, 本。

HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>SOFTWARE - GETTING STARTED WITH SOFTWARE</title> 
        <link rel="stylesheet" href="css/bootstrap.css" type="text/css"/>
    </head>
    <body>
        <style>
            .jumbotron {
                margin-bottom: 0px;
            }
        </style>
        <!-- Start of main container -->
        <div class="container-fluid main">
            <div class="row-fluid">
                <div class="jumbotron">
                    <h1> Getting Started </h1>
                    <p> Installing SOFTWARE on your machine is easy for most systems.
                        This guide will get you up and running.
                    </p>
                </div>
            </div>
                    <!--Here's thestart of the navabar I'm trying to affix -->
            <div class="row-fluid" data-spy="affix" data-offset-top="200">
                <div class="navbar navbar-inverse">
                    <div class="navbar-header">
                        <a class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </a>
                        <a class="navbar-brand" href="#">SOFTWARE</a>
                    </div>
                    <div class="navbar-collapse collapse">
                        <ul class="nav navbar-nav">
                            <li><a href="#">Home</a></li>
                            <li><a href="#">About SOFTWARE</a></li>
                            <li class="active"><a href="#">Getting Started</a></li>
                            <li><a href="#">Quick Start</a></li>
                            <li><a href="#">Full Documentation</a></li>
                            <li><a href="#">Contact</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Download <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">GitHub Repository</a></li>
                                    <li><a href="#">Download TAR</a></li>
                                    <li><a href="#">Download ZIP</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </div>  
            </div>
            <!-- Begin Layout for Getting Started Page -->
            <div class="row-fluid">
                <div class="col-lg-3">
                    <ul class="nav nav-pills nav-stacked sidemenu">
                        <li><a href="#">Introduction</a></li>
                        <li><a href="#">Installing R</a></li>
                        <li><a href="#">R Recommendations</a></li>
                        <li><a href="#">Installing HybRIDS from GitHub</a></li>
                        <li><a href="#">Installing HybRIDS from Source File</a></li>
                        <li><a href="#">Installing HybRIDS from Binary File</a></li>
                    </ul>
                </div>
                <div class="col-lg-9 whitep">
                    <h1 class="whitep">Introduction</h1>
                    <p>
                        Installation text
                        Installation text
                        Installation text
                        Installation text
                        Installation text
                    </p>
                    <hr>
                    <h1>Installing R</h1>
                    <p>
                        R is simple to install for most operating systems. If you use a Mac or PC or Linux system, the process for installing it is like for installing any other software on that system. 
                    </p>
                    <p>
                    TEST text to fill page to test scrolling behaviour...
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>
                    <p>
                    TEST
                    </p>    
                </div>
            </div>
        </div> <!--End of main Container-->
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script src="js/bootstrap.js"></script>
    </body>
</html>

1 个答案:

答案 0 :(得分:8)

正如Bootstrap文档中所述,您必须为导航和导航栏定义CSS类,以便affix启动...

  

“您必须自己为这些课程提供样式(独立于   这个插件)。词缀顶级应该在常规流程中   文件“。

所以你需要为顶部导航栏和侧面导航设备提供一些CSS ..

#nav.affix {
    position: fixed;
    top: 0;
    width: 100%;
    z-index:10;
}

#sidebar.affix {
    position: fixed;
    top: 80px;
}

以下是使用affix同时使用顶部和侧面导航的Bootply演示:http://bootply.com/69848