4

如何?

固定导航栏在中心,但在两侧没有背景颜色。

导航栏的宽度应该是容器的宽度,然后是导航栏的背景颜色到你不应该看到的容器(包含它)的侧面。

任何想法?

此外,导航栏必须在容器宽度调整大小时缩小,然后是页面:如此响应的导航栏!

如何?

提前致谢。

4

3 回答 3

11

修复默认导航栏:http: //getbootstrap.com/examples/navbar/

将导航栏包装在自己的 .container div 中,并将此 div 包装在您修复的另一个 div 中:

#fixme {position: fixed;left: 0;right: 0; top:0;}
/* prevent overlap */
body{padding-top:70px;}

html

<div id="fixme">        
    <div class="container">
         <!-- your navbar here -->
    </div>
</div>

其他示例执行此操作的一种方法(还有很多其他方法)。以静态导航栏为例: http: //getbootstrap.com/examples/navbar-fixed-top/

导航栏代码已经包含一个带有类容器的 div,它包装了导航栏内容并设置了不同网格的宽度(因此内容是响应式的)。

100% 宽度“效果”由 .navbar-default 类的背景颜色(和边框)设置(由 .navbar-fixed-top left: 和 right 都设置为 100% 宽度)。

删除此背景和边框:

.navbar-default {
    background-color:transparent;
    border: none;
}

在此之后,导航栏本身没有背景颜色。要解决将导航栏包装在额外的 div 内(在 .containter div 内)并在其上应用背景颜色的问题:

.navbar > .container > div
{
  background-color: pink;

}

当您在没有额外 div 的 .container 上应用此背景时,由于网格(填充)的排水沟,您的背景将比两侧的内容宽 15px。

示例:http ://bootply.com/79742

html

 <div class="navbar navbar-default navbar-fixed-top">
      <div class="container">
          <div>
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#">Project name</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#about">About</a></li>
            <li><a href="#contact">Contact</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li class="dropdown-header">Nav header</li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="../navbar/">Default</a></li>
            <li><a href="../navbar-static-top/">Static top</a></li>
            <li class="active"><a href="./">Fixed top</a></li>
          </ul>
        </div><!--/.nav-collapse -->
        </div>
        </div>
    </div>
于 2013-09-08T22:13:44.977 回答
0

我使用的是最新版本的 Bootsrap,我必须像这样覆盖“navbar-default”类:

 .navbar-default{
    background-image: none;
    -webkit-box-shadow: none;
    border-style : none;
    background-color: white; // the color i chose
 }

结果是我的导航栏不再有边框/背景样式,我终于可以在我的 div 中应用我的了!(呸呸呸)

于 2015-06-11T22:51:26.810 回答
0

我在同样的问题上苦苦挣扎。我通过添加一些使“.navbar”与“.container”宽度相同的jquery来解决它。

$(document).ready(function () {
    var siteWidth = $('.container').width();
    $('.navbar').width(siteWidth);
});
于 2017-11-19T01:19:04.540 回答