对齐Bootstrap 3 Navbar-right并包括右对齐的搜索框

时间:2014-05-29 22:54:12

标签: html forms twitter-bootstrap twitter-bootstrap-3 alignment

我正在使用bootstrap 3来构建一个站点,我遇到了以下问题:

我正在使用的网站设计有一个右对齐导航,应该在最后一个链接后面包含一个搜索栏。这是一个视觉:http://imgur.com/eevc0iS

如果我在徽标后保持导航左对齐,我似乎只能做这项工作。我无法让导航和搜索栏处于一个很好的右对齐线。

我想让它看起来和我现在一样,但是在另一边有搜索栏。

以下是代码:

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
        <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
          <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" rel="home" href="#">BRAND</a>
        </div><!-- / .navbar-header--> 
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">link</a></li>
            <li><a href="#">link two</a></li>
            <li><a href="#">link three</a></li>
            <li><a href="#">about</a></li>
      </ul>
      <div class="col-sm-3 col-md-3 pull-right">
            <form class="navbar-form" role="search">
          <div class="input-group">
              <input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
            <div class="input-group-btn">
                <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
                </div>
          </div>
            </form>
          </div>
    </div><!--/.nav-collapse -->
</div><!-- /. container-->
</div> <!-- /. navbar-->

3 个答案:

答案 0 :(得分:3)

你不需要用div包装来向右浮动。

只需使用已有的类名,线索就在标记.navbar-left.navbar-right中。使用这些元素在Navbar中向左或向右浮动元素并避免“divitis”。

您需要交换链接并在我们浮动时搜索。

JsFiddle

您还可以在页面的其他位置使用.pull-left.pull-right来获得类似的浮动要求。

答案 1 :(得分:1)

我在搜索表格div之后关闭了ul标签。效果很好。

                       

  • 链接
  •             
  • 链接两个
  •             
  • 链接三
  •             
  •   <div class="col-sm-3 col-md-3 pull-right">
            <form class="navbar-form" role="search">
          <div class="input-group">
              <input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
            <div class="input-group-btn">
                <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
                </div>
          </div>
            </form>
          </div>
        </ul>
    </div><!--/.nav-collapse -->
    

     

    答案 2 :(得分:-1)

    我使用Bootstrap官方网站上的最新示例进行测试,我认为可以通过一些css规则来完成。包裹您想要右对齐的元素并设置包装器的位置和右侧。参见样本。

    #right
    {
        position:absolute;
        right:0px;
    }
    
    <nav class="navbar navbar-default" role="navigation">
      <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <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="#">Brand</a>
        </div>
    
    
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Link</a></li>
            <li><a href="#">Link</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><a href="#">Separated link</a></li>
                <li class="divider"></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
    
            <div id="right">
          <form class="navbar-form navbar-left" role="search">
            <div class="form-group">
              <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-default">Submit</button>
          </form>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">Link</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><a href="#">Separated link</a></li>
              </ul>
            </li>
          </ul>
                </div>
        </div><!-- /.navbar-collapse -->
      </div><!-- /.container-fluid -->
    </nav>
    

    JSFIDDLE