Bootstrap响应式导航由768px变成992px

<!--响应式导航部分-->
<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;   //想要改成992px这里就要用这个 @grid-float-breakpoint:     @screen-md-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 即可。
其实在官网下载bootstrap的源码后,在命令行npm install安装所需要的包,再运行npm run test进行打包,就能在dist文件夹获得打包后的文件(就是从less转成css的文件)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值