如何在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>

但我不确定如何在Bootstrap 3中生成如此多的变化。

引导程序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>

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


我在一个开发站点上运行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>

更新:请参阅JSFiddle


这是我可以在不添加任何自定义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>

PS:当然,可以通过在按钮上添加一个负margin-left (-4px),然后移除侧边inputbutton相遇处的border-radius解决该问题。 但是这个问题的关键在于让它在没有任何自定义CSS的情况下工作。


您可以使用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>
链接地址: http://www.djcxy.com/p/89459.html

上一篇: How to add a search box with icon to the navbar in Bootstrap 3?

下一篇: Twitter Bootstrap: changed navbar collapse threshold, side