Comment faire 100% de la largeur de l'entrée de recherche dans la barre de navigation?
Le champ est limité en largeur:
<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>
Voici le violon:
Mise à jour 2019
À partir de Bootstrap 4 la Navbar est flexbox donc la création d'une entrée de recherche pleine largeur est plus facile. Vous pouvez simplement utiliser w-100
et d-inline
classes utilitaires:
<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
Bootstrap 3 (réponse originale)
Vous pouvez utiliser le text-truncate
pirater la dernière barre de navigation li
comme ça ..
<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>
Dans Bootstrap 4, text-truncate définira:
overflow: hidden;
white-space: nowrap;
Cela permet au formulaire de recherche de remplir la largeur restante et non d'envelopper.
Démo http://www.codeply.com/go/22naSu3c0E
Une autre option consiste à utiliser 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>