【问题标题】:Make Bootstrap 3.0 NavBar content always collapsed使 Bootstrap 3.0 NavBar 内容始终折叠
【发布时间】:2013-09-24 15:37:02
【问题描述】:

我需要让 Bootstrap 3.0 的 NavBar 的一部分总是折叠。

导航栏的实际部分:

  • 链接
  • 搜索表单
  • 登录表单

当我在手机中打开网站时,我看到三个部分已折叠,并且我有三个图标来折叠每个内容。

当我在 PC 中打开页面时,我会看到栏中可见的三个部分(不是要折叠的按钮)。我需要的?在 PC 视图中,仅隐藏登录表单并显示折叠该登录表单的按钮。无论分辨率如何,我都需要让登录按钮始终可见并且该部分已折叠。这是我的实际代码:

<nav class="navbar navbar-inverse" role="navigation">
    <div class="navbar-header">
        <!--Toggles -->
        <button type="button" class="navbar-toggle boton" 
                data-toggle="collapse" data-target="#sesion">
            <span class="glyphicon glyphicon-user"></span>
        </button>
        <button type="button" class="navbar-toggle boton"
                data-toggle="collapse" data-target="#links" id="menuToggle">
            <span class="glyphicon glyphicon-align-justify"></span>
        </button>
        <button type="button" class="navbar-toggle boton" 
                data-toggle="collapse" data-target="#buscar">
            <span class="glyphicon glyphicon-search"></span>
        </button>
        <!--Logo en vista Mobile -->
        <a class="navbar-brand" style="padding: 10px 0 0 15px" href="#">
            <span class="visible-xs">
                <img src="img/nsnow.png" width="37" height="36" alt="Logo" />
            </span>
        </a>
    </div>

    <ul class="collapse navbar-collapse nav navbar-nav" id="links">
        <!--Links -->
        <li><a style="padding-left: 40px"></a></li>
        <li class="botonMenu" id="boton_generos"><a >Géneros</a></li>
        <li class="botonMenu" id="boton_categorias"><a >Categorías</a></li>
        <li class="botonMenu" id="boton_senales"><a >Señales</a></li>
    </ul>

    <div class="collapse navbar-collapse" id="buscar">
        <!--Buscar -->
        <form class="navbar-form navbar-right" role="search">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="Buscar">
            </div>
            <button type="submit" class="btn boton">
                <span class="glyphicon glyphicon-search"></span>
            </button>
        </form>
    </div>

    <div class="collapse navbar-collapse" id="sesion">
        <!--Buscar -->
        <form class="navbar-form navbar-right" role="search">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="Usuario">
                <input type="text" class="form-control" placeholder="Contraseña">
            </div>
            <button type="submit" class="btn boton">
                <span class="glyphicon glyphicon-search"></span>
            </button>
         </form>
     </div>
</nav>

【问题讨论】:

标签: twitter-bootstrap toggle collapse navbar


【解决方案1】:

对于使用 LESS 的用户,请前往 variables.less 并更改:

@grid-float-breakpoint:     @screen-sm-min;

到:

@grid-float-breakpoint:     999999999px;

一个像魅力一样的换行符。请务必使用大量不切实际的 像素(它们对我不起作用)。

【讨论】:

  • 为我工作。谢谢。
  • 与其破坏源代码,不如新建一个less文件,导入bootstrap main-less文件,再次声明上述变量。当它编译时,它使用你在引导源代码中覆盖的值。这就是少之美。
【解决方案2】:

您必须覆盖一些 css 以使其保持折叠状态

http://jsbin.com/UpeZazi/1/edit

在这个例子中,我让“用户登录”按钮保持折叠状态。

css:

@media (min-width: 768px) {
  #login-btn {
    display: block;
  }

  #sesion.collapse {
    display: none !important;
  }
}

html:

基本相同,只是我将 id login-btn 添加到您的登录用户按钮元素:

<button type="button" id="login-btn" class="navbar-toggle boton" data-toggle="collapse" data-target="#sesion">
    <span class="glyphicon glyphicon-user"></span>
 </button>

【讨论】:

    【解决方案3】:

    试试这个:

    .navbar-toggle {
        display: block;
    }
    
    .navbar-collapse.collapse {
        display: none !important;
    }
    

    【讨论】:

      【解决方案4】:

      基于@cfx 答案,使用 SASS 覆盖变量 grid-float-breakpoint(我更喜欢):

      $grid-float-breakpoint:     999999999px;
      

      【讨论】:

        【解决方案5】:

        如果您无法更改 less 变量,您还可以在 768px(智能手机边界)之后覆盖引导类。 Bellow 是使用 下拉菜单 覆盖基本导航栏的工作代码。并非所有类都在下面被覆盖,因此根据您使用的内容,您可能需要覆盖其他类。

            @media (min-width: 768px){
                .navbar-nav .open .dropdown-menu {
                    position: static;
                    float: none;
                    width: auto;
                    margin-top: 0;
                    background-color: transparent;
                    border: 0;
                    -webkit-box-shadow: none;
                    box-shadow: none;
                }
                .navbar-nav .open .dropdown-menu > li > a {
                    line-height: 20px;
                }
                .navbar-nav .open .dropdown-menu > li > a,
                .navbar-nav .open .dropdown-menu .dropdown-header {
                    padding: 5px 15px 5px 25px;
                }
                .dropdown-menu > li > a {
                    display: block;
                    padding: 3px 20px;
                    clear: both;
                    font-weight: normal;
                    line-height: 1.42857143;
                    color: #333;
                    white-space: nowrap;
                }
                .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;*/
                    margin: 7.5px 50px 7.5px -15px
                }
                .navbar-nav>li {
                    float: none;
                }
                .navbar-nav>li>a {
                    padding-top: 10px;
                    padding-bottom: 10px;
                }
                .navbar-text {
                    float: none;
                    margin: 15px 0;
                }
                /* since 3.1.0 */
                .navbar-collapse.collapse.in { 
                    display: block!important;
                }
                .collapsing {
                    overflow: hidden!important;
                }
            }
        

        click here for the live demo code

        【讨论】:

          猜你喜欢
          • 2013-06-04
          • 1970-01-01
          • 2013-09-30
          • 2014-02-28
          • 2018-08-02
          • 2019-12-26
          • 2017-09-18
          • 2018-05-23
          • 2015-02-13
          相关资源
          最近更新 更多