我想以低于768 px的分辨率折叠导航栏,例如992 px,我该怎么做?谢谢!(我知道我可以在引导页面上自定义它,但我不想用新的bootstrap.css文件重新启动我的项目)
j5fpnvbx1#
如果您不想使用Less/Sass来操作Bootstrap(可能是因为您想通过CDN加载它),下面的代码对我来说很有用:
@media (min-width: 768px) and (max-width: 991px) { .navbar-collapse.collapse { display: none !important; } .navbar-collapse.collapse.in { display: block !important; } .navbar-header .collapse, .navbar-toggle { display:block !important; } .navbar-header { float:none; } }
演示:https://jsfiddle.net/0pmy8usr/将其添加到单独的CSS文件中,并将其包含在bootstrap.css之后
针对 Bootstrap 4得更新:
@media(max-width:900px) { .navbar .navbar-brand {float:none;display: inline-block;} .navbar .navbar-nav>.nav-item { float: none; margin-left: .1rem;} .navbar .navbar-nav {float:none !important;} .nav-item{width:100%;text-align:left;} .navbar-toggler {display: block !important;} .navbar-toggleable-sm.collapse {display:none !important} .navbar-toggleable-sm.collapse.in {display:block !important} }
演示:https://jsfiddle.net/mkvhbgnp/3/
rjee0c152#
在variables.less中,将
variables.less
@grid-float-breakpoint: @screen-sm-min
至
@grid-float-breakpoint: @screen-md-min;
pgpifvop3#
如果您需要以低于768px的分辨率折叠导航栏,则需要使用@media min-width和max-width,并且无需为此启动新项目,只需创建新的**. css文件(示例:custom.css)并将其插入到主bootstrap. css**下以覆盖其值。然后在其中编写以下代码:
min-width
max-width
代码:
@media (min-width: 992px) { .collapse { display: none !important; } }
另外,你可以看看这个帖子:change bootstrap navbar collapse。我希望这会给你解决的办法。
v8wbuo2f4#
你也可以覆盖引导类来弥补差距。Bellow是覆盖基本导航栏和下拉菜单的工作代码。并不是所有的类都覆盖Bellow,所以取决于你使用的是什么,你可能需要覆盖其他类。
@media (min-width: 768px) and (max-width: 991px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .navbar-header { float: none; } .navbar-toggle { display: block; } .navbar-collapse { border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); } .navbar-collapse.collapse { display: none!important; } .navbar-nav { float: none!important; /*margin: 7.5px -15px;*/ margin: 7.5px 50px 7.5px -15px } .navbar-nav>li { float: none; } .navbar-nav>li>a { padding-top: 10px; padding-bottom: 10px; } .navbar-text { float: none; margin: 15px 0; } /* since 3.1.0 */ .navbar-collapse.collapse.in { display: block!important; } .collapsing { overflow: hidden!important; } }
click here for the live demo code
ff29svar5#
解决方法其实很简单,使用.navbar-expand-lg或.navbar-expand-xl类和<nav>标签。范例:-
<nav>
<nav class="navbar navbar-expand-lg navbar-light" role="navigation"> </nav>
谢谢大家。
wyyhbhjk6#
我建议在项目中引入bootstrap来代替CDN,并简单地查找如下所示的媒体查询:
@media (min-width: 768px) { .navbar-expand-md { -ms-flex-flow: row nowrap; flex-flow: row nowrap; //...etc.
并将其更改为:
@media (min-width: 900px) { .navbar-expand-md { -ms-flex-flow: row nowrap; flex-flow: row nowrap; // ...etc.
或者,如果您使用CDN,请创建对该特定媒体查询的覆盖。
0tdrvxhp7#
如果您希望它是菜单从媒体设备可折叠您可以直接通过可切换=“md”否则,您可以通过设置bootstrap的sccs/ less来使用其他强制可折叠方法。
7条答案
按热度按时间j5fpnvbx1#
如果您不想使用Less/Sass来操作Bootstrap(可能是因为您想通过CDN加载它),下面的代码对我来说很有用:
演示:https://jsfiddle.net/0pmy8usr/
将其添加到单独的CSS文件中,并将其包含在bootstrap.css之后
针对 Bootstrap 4得更新:
演示:https://jsfiddle.net/mkvhbgnp/3/
rjee0c152#
在
variables.less
中,将至
pgpifvop3#
如果您需要以低于768px的分辨率折叠导航栏,则需要使用@media
min-width
和max-width
,并且无需为此启动新项目,只需创建新的**. css文件(示例:custom.css)并将其插入到主bootstrap. css**下以覆盖其值。然后在其中编写以下代码:代码:
另外,你可以看看这个帖子:change bootstrap navbar collapse。
我希望这会给你解决的办法。
v8wbuo2f4#
你也可以覆盖引导类来弥补差距。Bellow是覆盖基本导航栏和下拉菜单的工作代码。并不是所有的类都覆盖Bellow,所以取决于你使用的是什么,你可能需要覆盖其他类。
click here for the live demo code
ff29svar5#
解决方法其实很简单,使用.navbar-expand-lg或.navbar-expand-xl类和
<nav>
标签。范例:-
谢谢大家。
wyyhbhjk6#
我建议在项目中引入bootstrap来代替CDN,并简单地查找如下所示的媒体查询:
并将其更改为:
或者,如果您使用CDN,请创建对该特定媒体查询的覆盖。
0tdrvxhp7#
如果您希望它是菜单从媒体设备可折叠
您可以直接通过
可切换=“md”
否则,您可以通过设置bootstrap的sccs/ less来使用其他强制可折叠方法。