【问题标题】:Getting Affix to work for nav and navbar让 Affix 为 nav 和 navbar 工作
【发布时间】:2013-08-26 18:01:27
【问题描述】:

我有一些 html 用于我的研究小组制作的软件库站点的页面布局。这是通过引导程序 3 完成的。我想要实现的是出现在 jumbotron 下方的导航栏,一旦向上滚动,就会固定在页面顶部。我还希望页面左列中的 nag 元素具有类似的行为 - 当页面滚动并且它们到达顶部时 - 然后它们变得固定并留在那里。从阅读中我了解到,twitter bootstrap 中的 Affix 是执行此操作的方法,但我不完全确定我能弄清楚如何正确执行此操作。

在下面的 HTML 中,滚动到目前为止应该跨越页面的导航栏被压扁 - 导航栏链接移动到导航栏品牌下方的一行,并且栏不再跨越页面。一旦我弄清楚如何将词缀与导航栏一起使用,我希望将它与导航元素一起使用。谁能解释我需要做什么才能获得效果?我对网页设计的东西还很陌生。

谢谢, 本。

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>

【问题讨论】:

    标签: html twitter-bootstrap navbar affix


    【解决方案1】:

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

    "您必须自己提供这些类的样式(独立于 这个插件)。词缀顶级类应该在 文件。”

    因此,您需要为顶部导航栏和侧边导航设置一些 CSS。

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

    这是一个使用 affix 的 Bootply 演示,顶部和侧面导航:http://bootply.com/69848

    【讨论】:

    • 当导航栏链接指向内部锚点(scrollspy)时,附加的顶部导航栏将与本示例中的内容重叠。见:stackoverflow.com/questions/18799688/…
    • 此方法的一个问题是侧边栏导航在粘贴时会丢失其块显示,并且不再填充列的宽度。
    猜你喜欢
    • 1970-01-01
    • 2019-06-18
    • 2014-03-15
    • 2019-12-26
    • 1970-01-01
    • 2017-02-25
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多