Bootstrap响应式导航由768px变成992px的实现代码
程序员文章站
2022-04-10 11:30:38
废话不多说了,直接给大家贴代码了,具体代码如下所示:
...
废话不多说了,直接给大家贴代码了,具体代码如下所示:
<!--响应式导航部分--> <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" rel="external nofollow" rel="external nofollow" ><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" rel="external nofollow" rel="external nofollow" > <span class="icon fa fa-home "></span> home</a></li> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <span class="icon fa fa-desktop"></span> portfolio</a></li> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <span class="icon fa fa-group "></span> team</a></li> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <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响应式导航由768px变成992px的实现代码,希望对大家有所帮助