Bootstrap 4-如何在Navbar中进行100%宽度的搜索输入? [英] Bootstrap 4 - how to make 100% width search input in Navbar?
问题描述
如何在导航栏中将搜索输入的宽度设置为100%?
How to make 100% width of the search input in navbar?
该字段的宽度受到限制:
The field is limited in width:
<nav class="navbar navbar-light navbar-dark bg-inverse">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="nav navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
</ul>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<form class="form-inline ">
<input class="form-control" type="text" placeholder="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</li>
<li class="nav-item">
<a class="nav-link" href="#">User Name</a>
</li>
</ul>
</nav>
这是小提琴:
https://jsfiddle.net/Dieselnick/tdoz2o4d/
推荐答案
已更新2019
Updated 2019
自 Bootstrap 4 起,导航栏为 flexbox ,因此创建全角搜索输入更加容易.您可以简单地使用w-100
和d-inline
实用工具类:
As of Bootstrap 4 the Navbar is flexbox so creating a full-width search input is easier. You can simply use w-100
and d-inline
utility classes:
<form class="mx-2 my-auto d-inline w-100">
<div class="input-group">
<input type="text" class="form-control" placeholder="...">
<span class="input-group-append">
<button class="btn btn-outline-secondary" type="button">GO</button>
</span>
</div>
</form>
http://www.codeply.com/go/sbfCXYgqoO
这是另一个示例,其中折叠的导航栏的搜索输入为 outside :
Here's another example with the search input outside of the collapsing navbar:
<!-- search input not in navbar collapse -->
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="d-flex flex-grow-1">
<a href="/" class="navbar-brand">Codeply</a>
<form class="mr-2 my-auto w-100 d-inline-block order-1">
<div class="input-group">
<input type="text" class="form-control border border-right-0" placeholder="Search...">
<span class="input-group-append">
<button class="btn btn-outline-light border border-left-0" type="button">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
</div>
<button class="navbar-toggler order-0" type="button" data-toggle="collapse" data-target="#navbar7">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse flex-shrink-1 flex-grow-0 order-last" id="navbar7">
<ul class="navbar-nav">
..
</ul>
</div>
</nav>
http://www.codeply.com/go/sbfCXYgqoO
最后,另一个示例,该示例会改变台式机/移动设备上的搜索范围(仅完整从我的在此处回答
And, finally another example that varies the width of the search on desktop/mobile (only full width on mobile) from my answer here
引导程序3(原始答案)
您可以像这样在最后一个导航栏li
上使用text-truncate
hack..
You can use the text-truncate
hack on the last navbar li
like this..
<li class="text-truncate">
<form class="input-group">
<input class="form-control" name="search" placeholder="Search Here" autocomplete="off" autofocus="autofocus" type="text">
<div class="input-group-btn">
<button class="btn btn-outline-success" type="submit">Search</button>
</div>
</form>
</li>
在Bootstrap 4中,将设置文本截断:
In Bootstrap 4, text-truncate will set:
overflow: hidden;
white-space: nowrap;
这使搜索表单能够填充剩余宽度而不进行换行.
This enables the search form to fill the remaining width and not wrap.
演示 http://www.codeply.com/go/22naSu3c0E
另一种选择是使用table-cell
:
<form>
<div class="table-cell"> </div>
<div class="table-cell fill-width">
<input class="form-control" name="search" placeholder="Search Here" autocomplete="off" autofocus="autofocus" type="text">
</div>
<div class="table-cell">
<button class="btn btn-outline-success" type="submit">Search</button>
</div>
</form>
http://www.codeply.com/go/JdbPvotSXg
这篇关于Bootstrap 4-如何在Navbar中进行100%宽度的搜索输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!