在移动视图中,默认情况下,Bootstrap菜单不会折叠 [英] Bootstrap menu is not collapsed by default in mobile view

查看:43
本文介绍了在移动视图中,默认情况下,Bootstrap菜单不会折叠的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I tried to implement a vertical navigation with twitter bootstrap 3.0 that collapses automatically.

基础工作正常(窗口大小小=应该位于顶部的菜单),但是问题是,如果我在引导程序中使用默认的导航栏功能,它不会像原来那样折叠.

The basics work (window size small = menu at the top like it should be), but the problem is that it is not collapsed as it is if I use the default navbar features in 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 类,因为该类被设置为在给定的断点处折叠.

You need the .navbar-collapse class in your nav since that's the one that is set up to collapse at the given breakpoint.

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

I made some changes in your markup to accommodate that and also added a .navbar container so you can easily use the .navbar-toggle class on the button:

<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>

要删除不需要的样式,并且由于您未使用默认的导航栏折叠结构,因此需要将其添加到CSS

To remove unwanted styles and since you're not using the default navbar-collapse structure you need to add this to your 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%;
    }
}

这是一个 演示小提琴

Here's a demo fiddle with the changes

这篇关于在移动视图中,默认情况下,Bootstrap菜单不会折叠的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆