web-dev-qa-db-ja.com

Bootstrap 4-Navbarで100%幅の検索入力を行う方法?

Navbarで検索入力の幅を100%にする方法は?

enter image description here

フィールドの幅は制限されています。

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

25

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


ブートストラップ3(元の回答)

このように、最後のnavbar litext-truncateハックを使用できます。

<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

30
Zim