Bootstrap 导航栏正在折叠
Bootstrap nav bar collapsing
我正在努力升级网站,使其变得响应式。我正在使用推特 bootstrap。我已经尝试了几个我在网上找到的不同的导航栏模板,但我总是遇到同样的问题。正如您在某些分辨率下的图像中看到的那样,导航栏没有按应有的方式折叠。
问题:
导航栏html代码:
<!-- Fixed navbar -->
<nav class="navbar navbar-default navbar-fixed">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.htm">Index</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="casameio.htm">casa do meio</a>
</li>
<li><a href="casabrava.htm">casa brava</a>
</li>
<li><a href="casavelha.htm">casa velha</a>
</li>
<li><a href="pool.htm">pool</a>
</li>
<li><a href="prijzen.htm">prijzen</a>
</li>
<li><a href="ons.htm">over ons</a>
</li>
<li><a href="activ.htm">activiteiten</a>
</li>
<li><a href="guestbook.htm">gastenboek</a>
</li>
<li><a href="omgeving.htm">kaartje</a>
</li>
<li><a href="contact.htm">contact</a>
</li>
<li><a href="links.htm">linken</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
我的 css 里也有这个:
@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;
}
}
如有任何帮助,我们将不胜感激!
您的导航看起来相当宽,所以您可以做的就是在 bootstrap 导航折叠时简单地进行更改。查看您的代码,1000px 似乎是发生崩溃的一个很好的断点,但您可以尝试一下。
一个解决方案是添加一个新的媒体查询来覆盖 Bootstraps 的媒体查询。如果您不想直接编辑 bootstrap 代码,此解决方案会很好:
@media (max-width: 1000px) {
.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;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
}
如果您使用 LESS,另一个更简单的选项是更改触发断点的变量。您可以改为使用以下内容:
// Point at which the navbar becomes uncollapsed.
@grid-float-breakpoint: 1000px;
这是完整的CSS(*考虑到您的网站结构)如果您想更改较小视口上导航的断点。
您还应该考虑将一些链接移动到下拉列表中,这样您就可以避免所有这些情况。
@media (max-width: 1199px) {
#custom-bootstrap-menu .navbar-collapse.collapse {
display: none !important;
}
#custom-bootstrap-menu .navbar-collapse.collapse.in {
display: block !important;
}
#custom-bootstrap-menu .navbar-toggle {
display: block !important;
}
#custom-bootstrap-menu .navbar-collapse {
text-align: center;
display: block !important;
}
#custom-bootstrap-menu .navbar-header {
float: none;
display: block !important;
}
#custom-bootstrap-menu .navbar-nav {
display: inline-block;
float: none;
vertical-align: top;
}
#custom-bootstrap-menu .navbar-nav > li {
float: none;
}
#custom-bootstrap-menu .navbar-nav> li > a {
padding-top: 10px;
padding-bottom: 10px;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<p>
<img src="http://www.huisjeinportugal.nl/images/top.jpg" class="img-responsive">
</p>
<div id="custom-bootstrap-menu" class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header"><a class="navbar-brand" href="index.htm">Index</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-menubuilder"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-menubuilder">
<ul class="nav navbar-nav">
<li><a href="casameio.htm">casa do meio</a>
</li>
<li><a href="casabrava.htm">casa brava</a>
</li>
<li><a href="casavelha.htm">casa velha</a>
</li>
<li><a href="pool.htm">pool</a>
</li>
<li><a href="prijzen.htm">prijzen</a>
</li>
<li><a href="ons.htm">over ons</a>
</li>
<li><a href="activ.htm">activiteiten</a>
</li>
<li><a href="guestbook.htm">gastenboek</a>
</li>
<li><a href="omgeving.htm">kaartje</a>
</li>
<li><a href="contact.htm">contact</a>
</li>
<li><a href="links.htm">linken</a>
</li>
</ul>
</div>
</div>
</div>
我正在努力升级网站,使其变得响应式。我正在使用推特 bootstrap。我已经尝试了几个我在网上找到的不同的导航栏模板,但我总是遇到同样的问题。正如您在某些分辨率下的图像中看到的那样,导航栏没有按应有的方式折叠。
问题:
导航栏html代码:
<!-- Fixed navbar -->
<nav class="navbar navbar-default navbar-fixed">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.htm">Index</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="casameio.htm">casa do meio</a>
</li>
<li><a href="casabrava.htm">casa brava</a>
</li>
<li><a href="casavelha.htm">casa velha</a>
</li>
<li><a href="pool.htm">pool</a>
</li>
<li><a href="prijzen.htm">prijzen</a>
</li>
<li><a href="ons.htm">over ons</a>
</li>
<li><a href="activ.htm">activiteiten</a>
</li>
<li><a href="guestbook.htm">gastenboek</a>
</li>
<li><a href="omgeving.htm">kaartje</a>
</li>
<li><a href="contact.htm">contact</a>
</li>
<li><a href="links.htm">linken</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
我的 css 里也有这个:
@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;
}
}
如有任何帮助,我们将不胜感激!
您的导航看起来相当宽,所以您可以做的就是在 bootstrap 导航折叠时简单地进行更改。查看您的代码,1000px 似乎是发生崩溃的一个很好的断点,但您可以尝试一下。
一个解决方案是添加一个新的媒体查询来覆盖 Bootstraps 的媒体查询。如果您不想直接编辑 bootstrap 代码,此解决方案会很好:
@media (max-width: 1000px) {
.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;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
}
如果您使用 LESS,另一个更简单的选项是更改触发断点的变量。您可以改为使用以下内容:
// Point at which the navbar becomes uncollapsed.
@grid-float-breakpoint: 1000px;
这是完整的CSS(*考虑到您的网站结构)如果您想更改较小视口上导航的断点。
您还应该考虑将一些链接移动到下拉列表中,这样您就可以避免所有这些情况。
@media (max-width: 1199px) {
#custom-bootstrap-menu .navbar-collapse.collapse {
display: none !important;
}
#custom-bootstrap-menu .navbar-collapse.collapse.in {
display: block !important;
}
#custom-bootstrap-menu .navbar-toggle {
display: block !important;
}
#custom-bootstrap-menu .navbar-collapse {
text-align: center;
display: block !important;
}
#custom-bootstrap-menu .navbar-header {
float: none;
display: block !important;
}
#custom-bootstrap-menu .navbar-nav {
display: inline-block;
float: none;
vertical-align: top;
}
#custom-bootstrap-menu .navbar-nav > li {
float: none;
}
#custom-bootstrap-menu .navbar-nav> li > a {
padding-top: 10px;
padding-bottom: 10px;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<p>
<img src="http://www.huisjeinportugal.nl/images/top.jpg" class="img-responsive">
</p>
<div id="custom-bootstrap-menu" class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header"><a class="navbar-brand" href="index.htm">Index</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-menubuilder"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-menubuilder">
<ul class="nav navbar-nav">
<li><a href="casameio.htm">casa do meio</a>
</li>
<li><a href="casabrava.htm">casa brava</a>
</li>
<li><a href="casavelha.htm">casa velha</a>
</li>
<li><a href="pool.htm">pool</a>
</li>
<li><a href="prijzen.htm">prijzen</a>
</li>
<li><a href="ons.htm">over ons</a>
</li>
<li><a href="activ.htm">activiteiten</a>
</li>
<li><a href="guestbook.htm">gastenboek</a>
</li>
<li><a href="omgeving.htm">kaartje</a>
</li>
<li><a href="contact.htm">contact</a>
</li>
<li><a href="links.htm">linken</a>
</li>
</ul>
</div>
</div>
</div>