2015-09-21 164 views
0

我试图用Bootstrap创建一个非常简单的双导航栏效果。我现在唯一的问题是,第二个/底部的导航栏不能在整个浏览器宽度上延伸。这里是我的代码...全导航辅助导航栏内的父导航栏与引导

<nav class="navbar navbar-fixed-top navbar-inverse"> 
     <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" style = "line-height: 30px;"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="glyphicon glyphicon-menu-hamburger" style="color:#fff;"></span> 
      </button> 
     <a class="navbar-brand" href="#" style = "line-height: 30px;">brand</a> 

     </div> 
     <div id="navbar" class="collapse navbar-collapse"> 
      <ul class="nav navbar-nav"> 
      <!-- <li><a href="#contact">Button</a></li> --> 
      </ul> 
     </div><!-- /.nav-collapse --> 

     <!-- this is the second navbar element that never takes up the full width available--> 
     <div class="nav navbar-default" style="background-color: #66CCFF;"> 
       <ul class="nav navbar-nav"> 
        <li><a href="#" class="glyphicon glyphicon-search"></a></li> 
        <li class="divider-vertical"></li> 
        <li><a href="#" class="glyphicon glyphicon-cloud"></a></li> 
        <li class="divider-vertical"></li> 
        <li><a href="#" class="glyphicon glyphicon-th"></a></li> 
       </ul> 
      </div> 
     </div><!-- /.container --> 
    </nav><!-- /.navbar --> 

我曾与各种不同类型的导航栏和CSS样式播放(例如宽度:100%),但我似乎无法弄清楚如何使第二导航栏(即包含3个glyphicons的那个)与它的父级宽度相同。

真的很感谢任何想法,我可能做错了!

+0

因为你嵌套在导航栏,外导航栏有填充。或者取消嵌套它们或从外部导航栏中删除填充。 –

回答

2

您需要使用container-fluid而不是container,因为后者具有固定的宽度。

.container-fluid仍然包含用于填充的CSS规则。您可以尝试使用自定义类来覆盖它。

.container-fluid.no-padding { 
 
    padding: 0; 
 
} 
 
.no-padding .navbar-header { 
 
    padding-left: 10px; /* Align the Brand text */ 
 
} 
 
@media (max-width: 768px) { 
 
    .no-padding .navbar-nav { 
 
    padding-left: 10px; /* Align the icons on small screens */ 
 
    } 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet" /> 
 
<nav class="navbar navbar-fixed-top navbar-inverse"> 
 
    <div class="container-fluid no-padding"> 
 
    <div class="navbar-header"> 
 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar" style="line-height: 30px;"> 
 
     <span class="sr-only">Toggle navigation</span> 
 
     <span class="glyphicon glyphicon-menu-hamburger" style="color:#fff;"></span> 
 
     </button> 
 
     <a class="navbar-brand" href="#" style="line-height: 30px;">brand</a> 
 

 
    </div> 
 
    <div id="navbar" class="collapse navbar-collapse"> 
 
     <ul class="nav navbar-nav"> 
 
     <!-- <li><a href="#contact">Button</a></li> --> 
 
     </ul> 
 
    </div> 
 
    <!-- /.nav-collapse --> 
 

 
    <!-- this is the second navbar element that never takes up the full width available--> 
 
    <div class="nav navbar-default" style="background-color: #66CCFF;"> 
 
     <ul class="nav navbar-nav"> 
 
     <li> 
 
      <a href="#" class="glyphicon glyphicon-search"></a> 
 
     </li> 
 
     <li class="divider-vertical"></li> 
 
     <li> 
 
      <a href="#" class="glyphicon glyphicon-cloud"></a> 
 
     </li> 
 
     <li class="divider-vertical"></li> 
 
     <li> 
 
      <a href="#" class="glyphicon glyphicon-th"></a> 
 
     </li> 
 
     </ul> 
 
    </div> 
 
    </div> 
 
    <!-- /.container --> 
 
</nav> 
 
<!-- /.navbar -->

+0

谢谢 - 完美的工作 – d3wannabe

+0

很高兴工作! :) –

1
.navbar > .container { 
    padding-left: 0; 
    padding-right: 0; 
} 

只是去除容器中的填充改变你的页面上的容器的所有实例。

你再要回添加填充到您的导航栏头

.navbar > .container { 
    padding-left: 0; 
    padding-right: 0; 
} 

.navbar .navbar-header { 
    padding: 5px 10px; 
} 
+0

谢谢 - 这也很好! – d3wannabe