問題描述
我正在使用新的 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 中生成相同的內容,因為這麼多變化。
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>
我如何修改它以達到我需要的?
最佳解決方案
我在一個開發網站上運行 BS3,以下產生您要求的影響/佈局。當然,您需要在 BS3 中設置的 glyphicons 。
<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) 來修復,並且拆下 input 和 button 兩邊的 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>
第四種方案
最近我使用 bootstrap 3.0 在我的分類網站上實現了這種功能。你可以找到完整的代碼。希望對您有幫助
http://www.technicalkeeda.com/bootstrap-tutorials/navbar-search-icon-example
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。



