【问题标题】:Bootstrap double navbar not collapsing properlyBootstrap 双导航栏无法正确折叠
【发布时间】:2015-02-18 22:52:12
【问题描述】:

我在构建我的双导航栏时从这个链接:http://www.bootply.com/lJgThXaVXi# 获得了帮助,我得到的效果和这个例子一样。但是,当我的导航栏折叠时,我得到 2 个按钮而不是 1 个(该示例仅获得一个显示两个导航栏数据的折叠按钮)。

另外,当我按下navbar1 的折叠按钮时,它会显示navbar1 中的所有内容,但是当我按下navbar2 中的折叠按钮时,会触发navbar1 的折叠按钮。我一直在详细查看示例中的代码,但找不到我做的任何不同的事情。

基本上我希望有 1 个折叠按钮显示来自两个导航栏的所有信息。

代码:

<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a href="/Default.aspx" class="navbar-brand">Logo</a>

                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                </div>
                <div class="collapse navbar-collapse">

                    <ul class="nav navbar-nav navbar-left">
                        <li><a href="/AddSite.aspx">Add site</a></li>
                    </ul>

                    <div class="col-sm-3 col-md-3" style="background-color:red">
                        <div class="navbar-form" role="search">
                            <div class="input-group">
                                <asp:TextBox ID="TextBoxSearch" CssClass="form-control" placeholder="Search" runat="server"></asp:TextBox>
                                <div class="input-group-btn">
                                    <asp:LinkButton ID="LinkButtonSearch" CssClass="btn btn-default" OnClick="search_click" runat="server"><i class="glyphicon glyphicon-search"></i></asp:LinkButton>
                                </div>
                            </div>
                        </div>
                    </div>

                    <ul class="nav navbar-nav navbar-right" style="background-color:blue">
                        <li >
                            <asp:LinkButton ID="LinkButtonRegister" runat="server" OnClick="Register">Register</asp:LinkButton></li>
                        <li>
                            <asp:LinkButton ID="LinkButtonLogin" data-toggle="modal" data-target="#loginModal" runat="server">Log in</asp:LinkButton></li>
                        <li>
                            <asp:LinkButton ID="LinkButtonLogout" runat="server" OnClick="Logout">Log out</asp:LinkButton></li>
                    </ul>
                </div>
            </div>
        </div>
        <!-- END OF FIRST NAVBAR -->
        <div class="navbar navbar-inverse navbar-static-top" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                </div>
                <div class="collapse navbar-collapse">

                    <ul class="nav navbar-nav navbar-left">
                        <li><a href="/AddSite.aspx">Add site</a></li>
                    </ul>

                    </div>
                </div>
            </div>

【问题讨论】:

    标签: css asp.net twitter-bootstrap navbar


    【解决方案1】:

    您的代码中有两个折叠按钮。删除一个(其中一个):

    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>
    

    另外,我使用引导演示导航栏创建了一个双导航栏的演示,该演示使用一个按钮(我使用)折叠:

    My Bootstrap Double Top Nav Bars

    以下是相关代码:

    <div class="navwrap">
        <!-- first navbar -->
        <div class="navbar navbar-default navbar-static-top no-bottom-margin">
            <div class="container">
                <div class="navbar-header">
                    <span class="navbar-brand">Brand</span>
                    <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                </div>
    
                <nav class="collapse navbar-collapse" role="navigation">
                    <div class="navbar-right">
                        <ul class="nav navbar-nav">
                            <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
                            <li><a href="#">Link</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
                                <ul class="dropdown-menu" role="menu">
                                    <li><a href="#">Action</a></li>
                                    <li><a href="#">Another action</a></li>
                                    <li><a href="#">Something else here</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </nav>
            </div>
        </div>
        <!-- second navbar -->
        <div class="navbar-inverse">
            <div class="container">
                <nav class="collapse navbar-collapse nested-nav global-nav" role="navigation">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
                        <li><a href="#">Link</a></li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
                            <ul class="dropdown-menu" role="menu">
                                <li><a href="#">Action</a></li>
                                <li><a href="#">Another action</a></li>
                                <li><a href="#">Something else here</a></li>
                            </ul>
                        </li>
                    </ul>
                </nav>
            </div>
        </div>
    </div>
    

    加上这个 CSS 规则:

    .no-bottom-margin{margin-bottom:0;}
    

    HTH,

    -泰德

    【讨论】:

    • 我试过这个,如果我删除一个然后确定,只会有一个按钮,但它也只会显示1个导航栏上的内容
    • 查看我的演示,以及我刚刚添加到答案中的 HTML。 :)
    • 你好,我去看看。只是从第一印象。什么是“navWrap”?此外,您没有为底部栏设置填充,它如何保持在顶部下方? global-nav 和 nested-nav 好像也是自定义的?
    • 我想我找到了我的问题。似乎“固定导航栏”不适用于此解决方案。如果我将其更改为静态,则它可以工作。说得通。我想那时我将不得不做静态。仍然不明白为什么示例中的那个有效,但不是我的。那好吧。谢谢!
    • 哦,.navwrap div 只是为了我的实现。很高兴帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多