导航菜单默认在屏幕小于768px的时候自动折叠,怎么自定义这个大小?
比方说我想让导航菜单在屏幕小于960px的时候才自动折叠,该怎么做?
各位大虾帮忙解答一下
比方说我想让导航菜单在屏幕小于960px的时候才自动折叠,该怎么做?
各位大虾帮忙解答一下
2017-01-19
<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 即可。
举报