Bootstrap 4 - Comment faire 100% Largeur de la recherche dans navbar?

comment faire 100% Largeur de la recherche entrée dans navbar?

enter image description here

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:

https://jsfiddle.net/Dieselnick/tdoz2o4d/

16
demandé sur peterh 2016-09-30 08:34:38

1 réponses

Vous pouvez utiliser le text-truncate hack sur la dernière barre de navigation li comme ceci..

<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 le Bootstrap 4, texte-tronquer sera mis:

   overflow: hidden;
   white-space: nowrap;

cela permet au formulaire de recherche de remplir la largeur restante et de ne pas envelopper.

Démo http://www.codeply.com/go/22naSu3c0E

une Autre option est d'utiliser table-cell:

<form>
        <div class="table-cell"> &nbsp; </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

mise à JOUR (pas de hacks nécessaire!)

Bootstrap 4 la barre de navigation étant flexbox, il est plus facile de créer une entrée de recherche complète. Vous pouvez simplement utiliser w-100 et d-inline classes d'utilité:

<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

16
répondu Zim 2018-02-25 21:37:41