使用引导程序在同一行内的徽标和响应式导航

时间:2015-07-07 13:03:24

标签: twitter-bootstrap navbar fluid

我正在尝试使用bootstrap来制作响应式导航栏。

  

我想要的是我左侧有徽标,徽标旁边有导航。

     

我希望每个导航(主页,关于我们,我们的服务,联系我们)具有相同的宽度和流畅性,所以如果我调整屏幕尺寸,   导航栏将调整大小,徽标保持不变。

但每当我尝试将屏幕尺寸调整为更小尺寸时,导航栏就不再在同一行。

正常的屏幕尺寸: https://www.dropbox.com/s/bl9s3m6ph79vrq0/1.PNG?dl=0

较小的屏幕尺寸(导航与徽标不在同一行):https://www.dropbox.com/s/55cu1xyfi37rrp2/2.PNG?dl=0

CSS

.navbar-brand{
padding-top: 0;
padding-left: 0px;
padding-right: 15px;
width: 18%;
}

.navbar-header{
display: block;}

ul{
padding-top: 60px;
}

.navbar-nav{
width: 80%;
}


.nav li{
display: block;
width: 25%;
text-align: center;
}

#logo_img{
width: 220px;
}

HTML

<nav class="navbar navbar-default">
    <div class="container-fluid">

        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <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="#"><img id="logo_img" width="220" src="Assets/logo.png"></a>
        </div>

        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li><a href="#">Home</a></li>
                <li><a href="#">About Us</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Our Services <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">Videography</a></li>
                        <li><a href="#">Design</a></li>
                        <li><a href="#">Training</a></li>
                    </ul>
                </li>
                <li><a href="#">Contact Us</a></li>
            </ul>
        </div><!--end of collapse-->

    </div><!--end of container fluid-->
</nav>

我已经在这里找到了同样的条件Bootstrap logo on same line as navbar items 但我仍然无法弄清楚出了什么问题。先谢谢!

1 个答案:

答案 0 :(得分:1)

这是您可以用来放置图片的CSS (从navbar-brand移除你的img链接并在CSS中替换它)

.navbar-brand {
width: 220px;
height: 50px;
background: url('http://placehold.it/220x85') no-repeat center center;
background-size: 150px;
}

可以通过CSS和媒体查询的使用来均匀间隔导航栏链接,但要注意,如果需要添加链接,它可能会变得丑陋和复杂。

请参阅代码段。

&#13;
&#13;
.navbar {
  border-radius: 0px;
  border: transparent;
}
.nav li {
  width: 150px;
  text-align: center;
}
.dropdown-menu li {
  text-align: left;
}
.navbar-brand {
  width: 220px;
  height: 50px;
  background: url('http://placehold.it/220x85') no-repeat center center;
  background-size: 150px;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px 6px 6px 6px;
  border-radius: 0px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: block;
  content: " ";
  float: right;
  width: 0px;
  height: 0px;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0px 5px 5px;
  border-left-color: #cccccc;
  margin-top: 5px;
  margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
  border-left-color: #ffffff;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  -webkit-border-radius: 6px 0px 6px 6px;
  -moz-border-radius: 6px 0px 6px 6px;
  border-radius: 6px 0px 6px 6px;
}
@media only screen and (max-width: 992px) {
  .nav li {
    width: auto;
  }
}
@media only screen and (max-width: 768px) {
  .nav li {
    width: auto;
    text-align: left;
  }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<nav role="navigation" class="navbar navbar-default">
  <!-- Brand and toggle get grouped for better mobile display -->
  <div class="navbar-header">
    <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle"> <span class="sr-only">Toggle navigation</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>

    </button>
    <a href="#" class="navbar-brand"></a>

  </div>
  <!-- Collection of nav links, forms, and other content for toggling -->
  <div id="navbarCollapse" class="collapse navbar-collapse">
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Home</a>

      </li>
      <li><a href="#">Profile</a>

      </li>
      <li class="dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#">Messages <b class="caret"></b></a>

        <ul role="menu" class="dropdown-menu">
          <li><a href="#"><i class="fa fa-envelope-o fa-fw"></i> Inbox</a>

          </li>
          <li><a href="#"><i class="fa fa-pencil-square-o fa-fw"></i> Drafts</a>

          </li>
          <li><a href="#"><i class="fa fa-paper-plane-o  fa-fw"></i> Sent Items</a>

          </li>
          <li class="divider"></li>
          <li><a href="#"><i class="fa fa-trash-o fa-fw"></i> Trash</a>

          </li>
        </ul>
      </li>
      <li><a href="#">Hello</a>

      </li>
      <li class="dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#">Things <b class="caret"></b></a>

        <ul role="menu" class="dropdown-menu">
          <li><a href="#"><i class="fa fa-envelope-o fa-fw"></i> Inbox</a>

          </li>
          <li><a href="#"><i class="fa fa-pencil-square-o  fa-fw"></i> Drafts</a>

          </li>
          <li><a href="#"><i class="fa fa-paper-plane-o  fa-fw"></i> Sent Items</a>

          </li>
          <li class="divider"></li>
          <li><a href="#"><i class="fa fa-trash-o fa-fw"></i> Trash</a>

            <li class="dropdown-submenu"> <a tabindex="-1" href="#"><i class="fa fa-hand-o-right fa-fw"></i> Profile</a>

              <ul class="dropdown-menu">
                <li><a tabindex="-1" href="#"><i class="fa fa-calendar-o fa-fw"></i> Account</a>

                </li>
                <li><a tabindex="-1" href="#"><i class="fa fa-folder-open-o  fa-fw"></i> Users</a>

                </li>
                <li><a tabindex="-1" href="#"><i class="fa fa-file-o fa-fw"></i> Login</a>

                </li>
              </ul>
            </li>
          </li>
        </ul>
      </li>
    </ul>
  </div>
</nav>
&#13;
&#13;
&#13;