导航菜单默认在屏幕小于768px的时候自动折叠,怎么自定义这个大小?

来源:6-7 响应式导航条

分我一丁目

2017-01-19 11:47

比方说我想让导航菜单在屏幕小于960px的时候才自动折叠,该怎么做?

各位大虾帮忙解答一下

写回答 关注

5回答

  • qq_我就是这样_4
    2018-08-02 10:11:36

    简单做的话,直接饮用BOOTSTARP菜单,别在BOOTSTARP.CSS的文件里面修改,引用一个自己建的CSS文件,找到相应的div在自己建的CSS文件里面改。

    小白注意:CSS是从上往下加载的,所以自己建的这个CSS文件夹必须放在BOOTSTARP.CSS文件的后面引用

  • 小阿飞Z
    2018-05-18 11:37:35

    我现在也需要实现这种 效果 ,有好的方案吗


  • amilu
    2017-01-31 18:15:30
    <header role="banner">
        <nav role="navigation" class="navbar navbar-static-top navbar-default">
            <div class="container ">
                <div class="navbar-header">
                    <!--设置手风琴式的navbar,然后类navbar-toggle包装在屏幕大于992px,隐藏-->
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
                        <!--这里的span.icon-bar 是用来在按钮中画三条线-->
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="index.html"><img src="img/logo.png" alt="Bootstrappin'" width="120"></a>
                    <!--这里的商标图一定要设置宽度-->
                </div>
                <!--这里的类collapse保证默认包裹的菜单是隐藏的,如果 替换为 in 则显示-->
                <div class="navbar-collapse collapse" id="navbar-collapse">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="index.html">
                            <span class="icon fa fa-home "></span> Home</a></li>
                        <li><a href="#">
                           <span class="icon fa fa-desktop"></span> Portfolio</a></li>
                        <li><a href="#">
                            <span class="icon fa fa-group "></span> Team</a></li>
                        <li><a href="#">
                            <span class="icon fa fa-envelope "></span> Contact</a></li>
                    </ul>
                </div><!--/.nav-collapse -->
            </div><!--/.container -->
        </nav>
    </header>

    这是我跟着做的一个实例,看上面第一个注释,button定义了类navbar-toggle。navbar-toggle其中的一个样式是媒体查询。

    //bootstrap.css
    @media (min-width: 992px) {
      .navbar-toggle {
        display: none;
      }
    }

    然后我又查看了下navbar.less文件。发现

    //navbar.less
    
    .navbar-toggle {
      position: relative;
      float: right;
      margin-right: @navbar-padding-horizontal;
      padding: 9px 10px;
      .navbar-vertical-align(34px);
      background-color: transparent;
      border: 1px solid transparent;
      border-radius: @border-radius-base;
    
      // Bars
      .icon-bar {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 1px;
      }
      .icon-bar + .icon-bar {
        margin-top: 4px;
      }
    
      @media (min-width: @grid-float-breakpoint) { //@grid-float-breakpoint
        display: none;
      }
    }
    
    //variables.less
    @grid-float-breakpoint:     @screen-sm-min;
    //--------
    @screen-sm:                  768px;
    @screen-sm-min:              @screen-sm;
    
    @screen-md:                  992px;
    @screen-md-min:              @screen-md;
    @screen-desktop:             @screen-md-min;
    
    // Large screen / wide desktop
    // Note: Deprecated @screen-lg and @screen-lg-desktop as of v3.0.1
    @screen-lg:                  1200px;
    @screen-lg-min:              @screen-lg;
    @screen-lg-desktop:          @screen-lg-min;

    所以,如果你想修改默认的折叠断点,就将上面的媒体查询变量 @grid-float-breakpoint:     @screen-sm-min;

    修改为其他Bootstrap定义的断点,当然也可以自定义一个断点变量。然后重新编译为css文件即可。

    注:最好把 variables.less 复制一份为 _variables.lss。navbar.less 复制一份 _navbar.less。然后在复制的文件上修改。最后将 bootstrap.less 复制一份 __bootstrap 将其中的导入

    //__bootstrap.less
    //@import "navbar.less"; 
    @import "_navbar.less";
    //@import "variables.less";
    @import "_variables.less";

    修改完,编译自定义的 __bootstrap.less 即可。

    amilu

    第二段代码我复制的是修改后再编译的代码,这里我是将@grid-float-breakpoint: @screen-md-min;

    2017-01-31 18:19:29

    共 2 条回复 >

  • 扫地的小幺
    2017-01-19 14:18:50

    有一个最不好的办法,就是你去改bootstrap里面带的媒体查询css样式,这样也能达到目的

    分我一丁目

    ​我看到一个网站,屏幕小于960px才导航菜单自动折叠,所以才想知道如何实现。 直接修改bootstrap的css文件来实现的确实不好,有没有什么别的方法,比如设置css覆盖掉的bootstrap的css行不行?

    2017-01-20 12:32:12

    共 1 条回复 >

  • 扫地的小幺
    2017-01-19 14:17:17

    这个不能吧?小于768px和小于960px是bootstrap设置的一个临界值,或许你可以查找官网的静止自适应布局方面的方案,或许对你有帮助。

玩转Bootstrap(基础)

告诉你使用Bootstrap,并且能够独立定制出适合自己的Bootstrap

314544 学习 · 2275 问题

查看课程

相似问题