如何在Bootstrap 3的导航栏中添加带图标的搜索框?

its*_*_me 135 html css html5 twitter-bootstrap twitter-bootstrap-3

我正在使用新的Twitter Bootstrap 3,我试图在顶部导航栏中放置如下(如下)的搜索框:

导航栏搜索

在Bootstrap 2中,它可以像这样完成:

<form class="form-search" method="get" id="s" action="/">
    <div class="input-append">
        <input type="text" class="input-medium search-query" name="s" placeholder="Search" value="">
        <button type="submit" class="add-on"><i class="icon-search"></i></button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何在Bootstrap 3中生成相同的内容,因为已经发生了很大变化.

Bootstrap 3中导航栏搜索框表单的默认HTML是:

<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>
Run Code Online (Sandbox Code Playgroud)

如何修改它以实现我的需要?

Phi*_*las 215

我在开发站点上运行BS3,然后生成您要求的效果/布局.当然你需要在BS3中设置的字形.

<div class="navbar navbar-inverse navbar-static-top" role="navigation">

    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-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="/" title="Aahan Krish's Blog - Homepage">ITSMEEE</a>
    </div>

    <div class="collapse navbar-collapse navbar-ex1-collapse">

        <ul class="nav navbar-nav">
            <li><a href="/topic/notes/">/notes</a></li>
            <li><a href="/topic/dev/">/dev</a></li>
            <li><a href="/topic/good-reads/">/good-reads</a></li>
            <li><a href="/topic/art/">/art</a></li>
            <li><a href="/topic/bookmarks/">/bookmarks</a></li>
            <li><a href="/all-topics/">/all</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>
</div>
Run Code Online (Sandbox Code Playgroud)

更新:请参阅JSFiddle

  • 我把你的小提琴分叉并调整它:[JSFiddle](http://jsfiddle.net/philnicholas/XfzFQ/)基于[BS3 docs for Button addons](http://getbootstrap.com/components/#input -groups-buttons)我认为这是你最好的.请注意,我删除了不可见的字段标签,该标签返回左侧的角半径.我将再次更新答案代码. (2认同)

its*_*_me 48

这是我可以在不添加任何自定义CSS的情况下获得的最接近的(这是我在问这个问题时已经想到的;猜猜我要坚持这个):

导航栏搜索框

并使用标记:

<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">
        <span class="glyphicon glyphicon-search"></span>
    </button>
</form>
Run Code Online (Sandbox Code Playgroud)

PS:当然,可以通过margin-left在按钮上添加负片(-4px)来固定,然后取下border-radius两侧inputbutton相遇.但这个问题的重点是让它在没有任何自定义CSS的情况下工作.

固定导航栏搜索框


pra*_*eek 31

您可以使用Bootstrap 3中的分段按钮示例:

<form action="" class="navbar-form navbar-right">
   <div class="input-group">
       <input type="Search" placeholder="Search..." class="form-control" />
       <div class="input-group-btn">
           <button class="btn btn-info">
           <span class="glyphicon glyphicon-search"></span>
           </button>
       </div>
   </div>
</form>
Run Code Online (Sandbox Code Playgroud)