bootstrap 3品牌名称中间导航栏

时间:2015-12-17 13:35:13

标签: javascript jquery html css twitter-bootstrap

我正在设计一个使用bootstrap 3的响应式网站,其中品牌名称位于导航栏中间。我想在导航栏的两侧有两个折叠栏。但我面临着问题。当我调整窗口大小时,左侧折叠栏未调整徽标位于徽标上方。这是实现代码后的图像。 problem image

HTML code:

</header>

   <nav class="navbar navbar-default" role="navigation">
      <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-brand-centered">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <div class="navbar-brand navbar-brand-centered"> <img src="images/plogo.png">
          </div>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="navbar-brand-centered">
          <ul class="nav navbar-nav">
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
              <ul class="dropdown-menu" role="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><a href="#">Separated link</a></li>
                <li class="divider"></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
              <ul class="dropdown-menu" role="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><a href="#">Separated link</a></li>
                <li class="divider"></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>               
          </ul>
        </div><!-- /.navbar-collapse -->
      </div><!-- /.container-fluid -->
    </nav>

CSS代码:

 @media screen and (min-width:650px) {
.navbar-brand-centered {

    position: absolute;
    left: 50%;
    display: block;
    width: 160px;
    text-align: center;
    background-color: transparent;

}
.navbar>.container .navbar-brand-centered, 
.navbar>.container-fluid .navbar-brand-centered {
    margin-left: -80px;
}


}

我的主导航栏将是这样的:

enter image description here

任何人都可以告诉我如何自定义这样的导航?我有简单的html和css用于我想要的设计,但是当我使用它们时,如上所述的引导位置变化。

1 个答案:

答案 0 :(得分:1)

我现在可以重新创建问题,问题是您的导航栏上有太多内容。 如果您希望在导航栏中显示所有内容,则必须缩小图像或调整容器的宽度。这不太漂亮,如果你再次使用容器可能会造成麻烦。

但即使你这样做,也有一些情况(尝试将窗口缩小比移动窗口更多),其中图像仍然与Navbar项目重叠!

如果您要创建响应页面,请进行编码,以便网站可以调整为任意大小,因此您应该允许图片表现为响应,因此缩小规模

只需添加@media规则即可缩小navbar-brand的宽度,并通过更改填充等间距规则将其调整为正确居中。

PS:我看到您的图片未正确居中,您应该为导航栏品牌添加宽度,并将margin-left调整为图片的width的一半。