导航菜单默认在屏幕小于768px的时候自动折叠,怎么自定义这个大小?
比方说我想让导航菜单在屏幕小于960px的时候才自动折叠,该怎么做?
各位大虾帮忙解答一下
比方说我想让导航菜单在屏幕小于960px的时候才自动折叠,该怎么做?
各位大虾帮忙解答一下
2017-01-19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 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其中的一个样式是媒体查询。
1 2 3 4 5 6 | //bootstrap.css @media ( min-width : 992px ) { .navbar-toggle { display : none ; } } |
然后我又查看了下navbar.less文件。发现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | //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 v 3.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 将其中的导入
1 2 3 4 5 | //__bootstrap.less //@import "navbar.less" ; @import "_navbar.less" ; //@import "variables.less" ; @import "_variables.less" ; |
修改完,编译自定义的 __bootstrap.less 即可。
举报