0

我试图在 Bootstrap 3 中编写一个导航栏,有一个导航栏和一些品牌和其他东西,包括一个搜索表单我希望搜索表单填充导航栏中的额外空间,我该怎么办?

<div class="navbar navbar-fixed-top">
  <div class="container">
    <a class="navbar-brand" href="#">Brand</a>
    <form class="navbar-form pull-left">
      <input type="search" class="form-control search-box">
      <button type="submit" class="btn btn-default glyphicon glyphicon-search"></button>
    </form>
    <div class="navbar-form btn-group pull-right">
      <button type="button" class="btn btn-default">User</button>
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu">
        <li><a href="#">My Account</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
        <li class="divider"></li>
        <li><a href="#">Logout</a></li>
      </ul>
    </div>
  </div>
</div>
4

3 回答 3

4

Bootstrap 3 发生了很多变化。您需要指定输入的宽度。您可以尝试类似...

<div class="navbar navbar-fixed-top">
      <div class="container">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="#">Brand</a>
        <div class="nav-collapse collapse">
          <ul class="nav navbar-nav pull-right">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">User <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="nav-header">Nav header</li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
          <form class="navbar-form">
            <button type="submit" class="btn btn-default glyphicon glyphicon-search"></button> 
            <input type="search" class="form-control pull-left" style="width:70%;"> 
          </form>
        </div><!--/.nav-collapse -->
      </div>
    </div>

Bootply 演示:http: //bootply.com/70142

于 2013-07-29T11:03:55.080 回答
1

因为您的菜单固定在顶部,所以您可以使用以下内容:

<form class="navbar-form navbar-left" 
       style="display:inline; 
              position:absolute; 
              margin-right: 140px;">
    <div class="input-group">
        <input type="text" class="form-control">
        <span class="input-group-btn">
            <button class="btn btn-default" type="button">Search</button>
        </span>
    </div>
</form>

display:inline 用于绝对位置直接在您的左侧导航栏品牌旁边,或者可能是导航导航栏导航。bootstrap 的类表单控件将使用它的 100% 宽度来用输入字段填充导航栏的其余部分。因为您在表单右侧有一个下拉菜单,所以在右侧定义了一个匹配的边距,所以元素不会重叠。

示例:在 plunker

它适用于 IE 和 Chrome,但不幸的是不适用于 Firefox 和 Safari。欢迎提出如何解决此问题的想法。

于 2013-08-22T13:39:39.447 回答
0

尝试这个

<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
    <div class="container">
        <ul class="nav">
            <li><a class="brand" href="#">Brand</a></li>
            <li><a href="#">Nav 2</a></li>
            <li><a href="#">Nav 3</a></li>
        </ul>

        <form class="navbar-search pull-left">
            <input type="text" class="search-query" placeholder="Search">
        </form>
        <ul class="nav pull-right">
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">User  <b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="#">My Account</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider"></li>
                    <li><a href="#">Logout</a></li>
                </ul>
            </li>
        </ul>
    </div>
</div>

于 2013-07-29T09:32:02.887 回答