【问题标题】:Increase bootstraps navbar collapse breakpoint without affecting another navbar on the same page增加引导导航栏折叠断点而不影响同一页面上的另一个导航栏
【发布时间】:2014-08-31 02:12:22
【问题描述】:

我有一个页面。垂直地,它有两个部分。顶部是导航栏。下半部分是页面的内容。

下部有引导程序“容器”类。在容器内,左侧是导航区域。右侧是内容,它有另一个导航栏。这是我的导航栏。

<div class="navbar navbar-default" role="navigation">

        <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="navbar-collapse collapse" id="control-panel">
            <ul class="nav navbar-nav">

                <li class="dropdown">
                    <a href="#" >Menu 1</a>
                </li>               
                <li class="dropdown">
                    <a href="#" >Menu 2</a>
                </li>               
                    <li class="dropdown">
                    <a href="#" >Menu 3</a>
                </li>               


            </ul>

        </div><!--/.nav-collapse -->

</div> <!-- end of  navbar -->

请注意,我删除了在普通导航栏示例中找到的“导航栏”的直接“容器”子级,如以下链接:http://getbootstrap.com/examples/navbar/。使用此容器,导航栏无法很好地与下拉菜单配合使用。

到目前为止,导航栏可以正常工作,但我想增加其崩溃断点。我在 SO 找到了一些相关的帖子,例如

Bootstrap 3 Navbar Collapse

但仍然不知道如何使它在我的情况下工作。我只有在这个页面上有这个页面内导航栏,而不是整个网站。

【问题讨论】:

    标签: twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    Bootstrap Documentation

    更改导航栏在折叠模式和水平模式之间切换的点。自定义 @grid-float-breakpoint 变量或添加您自己的媒体查询。

    一般来说,这会更改所有导航栏的所有断点。因此,BootStrap 没有开箱即用的解决方案。我的建议是创建您自己的一组样式,使用您的自定义断点复制 NavBars。

    【讨论】:

    • 埃里克,感谢您的意见。我可能已经找到了解决方法。感谢您的加入!!!
    【解决方案2】:

    在考虑了 Erik 的意见后,我正在四处寻找是否可以通过仅针对第二个导航栏来自定义 Bootstrap,看来我已经成功了。

    这里是如何。我将第二个导航栏包裹在一个 div 中,如下所示:

    <div id="target">
        <div class="navbar navbar-default" role="navigation">
        .....
        </div> <!-- end of  navbar -->
    </div>
    

    然后我按照这个 SO 帖子中所说的内容进行操作:Bootstrap 3 Navbar Collapse

    这是我最终的 CSS:

    @media (max-width: 991px) {
        #target {
    
            .navbar-header {
                float: none;
            }
            .navbar-toggle {
                display: block;
            }
            .navbar-collapse {
                border-top: 1px solid transparent;
                box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
            }
            .navbar-collapse.collapse {
                display: none!important;
            }
            .navbar-nav {
                float: none!important;
                margin: 7.5px -15px;
            }
            .navbar-nav>li {
                float: none;
            }
            .navbar-nav>li>a {
                padding-top: 10px;
                padding-bottom: 10px;
            }
            /* since 3.1.0 */
            .navbar-collapse.collapse.in { 
                display: block!important;
            }
            .collapsing {
                overflow: hidden!important;
            }
        }
    }
    

    到目前为止,它似乎有效。如果我做错了,请告诉我。如果这是正确的,希望它可以帮助其他人。

    干杯。

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 1970-01-01
      • 2016-10-22
      • 2021-10-04
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多