Bootstrap 4 - как сделать 100% ширины поискового ввода в Navbar?

Как сделать 100% ширину поискового ввода в navbar?

введите описание изображения здесь

Поле ограничено по ширине:

<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/

Ответ 1

Обновлено 2019

Начиная с Bootstrap 4, Navbar - это flexbox, поэтому создание полноразмерного поиска проще. Вы можете просто использовать служебные классы w-100 и d-inline:

<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 (оригинальный ответ)

Вы можете использовать text-truncate хак на последнем NavBar li, как это..

<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 text-truncate установит:

   overflow: hidden;
   white-space: nowrap;

Это позволяет форме поиска заполнять оставшуюся ширину, а не переносить.

Демо-версия http://www.codeply.com/go/22naSu3c0E

Другой вариант - использовать 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