javascript - Bootstrap 菜单在移动 View 中默认不折叠

标签 javascript css twitter-bootstrap

我尝试使用 twitter bootstrap 3.0 实现自动折叠的垂直导航。

基本功能有效(窗口大小小=顶部的菜单应该如此),但问题是,如果我在 Bootstrap 中使用默认的导航栏功能,它不会像原来那样折叠。

<div class="container-fluid">

        <div class="row">
            <div class="navbar-brand">
                <a href="<g:createLink uri="/" absolute="true" />">BABSI</a>
            </div>
            <button type="button" class="btn navbar-btn" data-toggle="collapse"
                    data-target="#sidebar">TOOGLE

                    Toggle navigation
                    <span class="icon-bar"></span> <span class="icon-bar"></span> 
                    <span class="icon-bar"></span>
                </button>
        </div>
        <div class="row">
            <header id="sidebar" class="col-md-2 collapse">

                <div class="row">

                                    <!-- generates ul structure -->
                    <nav:primary class="nav navbar-inverse nav-stacked" />
                </div>
            </header>
            <section id="content" class="col-md-10">
                <div class="row"></div>
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <g:layoutTitle />
                    </div>
                    <div class="panel-body">
                        <g:layoutBody />
                    </div>
                </div>
            </section>
        </div>
    </div>

最佳答案

您的导航中需要 .navbar-collapse 类,因为它被设置为在给定断点处折叠。

我对您的标记进行了一些更改以适应这一点,并添加了 .navbar 容器,以便您可以轻松地在按钮上使用 .navbar-toggle 类:

<div class="container">
    <div class="navbar navbar-default">
        <div class="navbar-brand"> 
            <a href="#">BABSI</a>
        </div>
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#sidebar .navbar-collapse"> 
            <span class="icon-bar"></span>  
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
    </div>
    <div class="row">
        <header id="sidebar" class="col-md-2">
            <div class="collapse navbar-collapse">
                <!-- generates ul structure -->
                <nav:primary class="nav navbar-inverse nav-stacked" />
            </div>
        </header>
        <section id="content" class="col-md-10">
            <div class="row"></div>
            <div class="panel panel-default">
                <div class="panel-heading">
                    <g:layoutTitle />
                </div>
                <div class="panel-body">
                    <g:layoutBody />
                </div>
            </div>
        </section>
    </div>
</div>

要删除不需要的样式,并且由于您没有使用默认的 navbar-collapse 结构,您需要将其添加到 CSS 中

//remove background and border from navbar
.navbar-default{
    background: none;
    border: 0;
}
.navbar-collapse{
    padding: 0;
}

//override width:auto of navbar-collapse
@media (min-width:768px) {
    .navbar-collapse {
        width: 100%;
    }
}

这是一个 demo fiddle 随着变化

关于javascript - Bootstrap 菜单在移动 View 中默认不折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18722596/

相关文章:

css - Dreamweaver cs6 显示使用样式的位置

css - 隐藏里面有 iframe 的 Div 滚动条

javascript - Fuelux - 如何使用中继器

javascript - 在类下使用 twitter bootstrap

html - 我可以在不裁剪图像的情况下使用方形图像来填充 Bootstrap 背景图像 slider 吗?

javascript - 如何在 Nativescript 和纯 JS 中禁用 iOS 缩放和双击缩放

javascript - 表单提交后重定向到另一个页面

javascript - 在函数内复制数组

javascript - 将图像数组放入表中 - Javascript

jquery - 如何将 CSS 更新为在表单中选择的值? (jQuery)