使 Bootstrap 3.0 NavBar 内容始终折叠
Posted
技术标签:
【中文标题】使 Bootstrap 3.0 NavBar 内容始终折叠【英文标题】:Make Bootstrap 3.0 NavBar content always collapsed 【发布时间】:2013-09-24 15:37:02 【问题描述】:我需要让 Bootstrap 3.0 的 NavBar 的一部分总是折叠。
导航栏的实际部分:
链接 搜索表单 登录表单当我在手机中打开网站时,我看到三个部分已折叠,并且我有三个图标来折叠每个内容。
当我在 PC 中打开页面时,我会看到栏中可见的三个部分(不是要折叠的按钮)。我需要的?在 PC 视图中,仅隐藏登录表单并显示折叠该登录表单的按钮。无论分辨率如何,我都需要让登录按钮始终可见并且该部分已折叠。这是我的实际代码:
<nav class="navbar navbar-inverse" role="navigation">
<div class="navbar-header">
<!--Toggles -->
<button type="button" class="navbar-toggle boton"
data-toggle="collapse" data-target="#sesion">
<span class="glyphicon glyphicon-user"></span>
</button>
<button type="button" class="navbar-toggle boton"
data-toggle="collapse" data-target="#links" id="menuToggle">
<span class="glyphicon glyphicon-align-justify"></span>
</button>
<button type="button" class="navbar-toggle boton"
data-toggle="collapse" data-target="#buscar">
<span class="glyphicon glyphicon-search"></span>
</button>
<!--Logo en vista Mobile -->
<a class="navbar-brand" style="padding: 10px 0 0 15px" href="#">
<span class="visible-xs">
<img src="img/nsnow.png" />
</span>
</a>
</div>
<ul class="collapse navbar-collapse nav navbar-nav" id="links">
<!--Links -->
<li><a style="padding-left: 40px"></a></li>
<li class="botonMenu" id="boton_generos"><a >Géneros</a></li>
<li class="botonMenu" id="boton_categorias"><a >Categorías</a></li>
<li class="botonMenu" id="boton_senales"><a >Señales</a></li>
</ul>
<div class="collapse navbar-collapse" id="buscar">
<!--Buscar -->
<form class="navbar-form navbar-right" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Buscar">
</div>
<button type="submit" class="btn boton">
<span class="glyphicon glyphicon-search"></span>
</button>
</form>
</div>
<div class="collapse navbar-collapse" id="sesion">
<!--Buscar -->
<form class="navbar-form navbar-right" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Usuario">
<input type="text" class="form-control" placeholder="Contraseña">
</div>
<button type="submit" class="btn boton">
<span class="glyphicon glyphicon-search"></span>
</button>
</form>
</div>
</nav>
【问题讨论】:
这可能会有所帮助:***.com/questions/21076922 【参考方案1】:对于使用 LESS 的用户,请前往 variables.less
并更改:
@grid-float-breakpoint: @screen-sm-min;
到:
@grid-float-breakpoint: 999999999px;
一个像魅力一样的换行符。请务必使用大量不切实际的 像素(它们对我不起作用)。
【讨论】:
为我工作。谢谢。 与其破坏源代码,不如新建一个less文件,导入bootstrap main-less文件,再次声明上述变量。当它编译时,它使用你在引导源代码中覆盖的值。这就是少之美。【参考方案2】:您必须覆盖一些 css 以使其保持折叠状态
http://jsbin.com/UpeZazi/1/edit
在这个例子中,我让“用户登录”按钮保持折叠状态。
css:
@media (min-width: 768px)
#login-btn
display: block;
#sesion.collapse
display: none !important;
html:
基本相同,只是我将 id login-btn
添加到您的登录用户按钮元素:
<button type="button" id="login-btn" class="navbar-toggle boton" data-toggle="collapse" data-target="#sesion">
<span class="glyphicon glyphicon-user"></span>
</button>
【讨论】:
【参考方案3】:试试这个:
.navbar-toggle
display: block;
.navbar-collapse.collapse
display: none !important;
【讨论】:
【参考方案4】:基于@cfx 答案,使用 SASS 覆盖变量 grid-float-breakpoint(我更喜欢):
$grid-float-breakpoint: 999999999px;
【讨论】:
【参考方案5】:如果您无法更改 less 变量,您还可以在 768px(智能手机边界)之后覆盖引导类。 Bellow 是使用 下拉菜单 覆盖基本导航栏的工作代码。并非所有类都在下面被覆盖,因此根据您使用的内容,您可能需要覆盖其他类。
@media (min-width: 768px)
.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
【讨论】:
以上是关于使 Bootstrap 3.0 NavBar 内容始终折叠的主要内容,如果未能解决你的问题,请参考以下文章
Bootstrap - navbar-fixed-top 覆盖内容