Bootstrap 4 - 如何在Navbar中进行100%宽度搜索输入?

Nik*_*sev 26 css input navbar bootstrap-4

如何在导航栏中创建100%的搜索输入宽度?

在此输入图像描述

该领域的宽度有限:

<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>
Run Code Online (Sandbox Code Playgroud)

这是小提琴:

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

Zim*_*Zim 30

2018年更新

Bootstrap 4开始,Navbar是flexbox,因此创建全宽搜索输入更容易.您可以简单地使用w-100d-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>
Run Code Online (Sandbox Code Playgroud)

http://www.codeply.com/go/sbfCXYgqoO


Bootstrap 3(原始答案)

您可以像这样text-truncate在最后一个导航栏上使用hack li..

<!-- 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>
Run Code Online (Sandbox Code Playgroud)

在Bootstrap 4中,text-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>    
Run Code Online (Sandbox Code Playgroud)

这使搜索表单能够填充剩余的宽度而不是换行.

演示 http://www.codeply.com/go/22naSu3c0E

另一种选择是使用table-cell:

   overflow: hidden;
   white-space: nowrap;
Run Code Online (Sandbox Code Playgroud)

http://www.codeply.com/go/JdbPvotSXg

  • 感谢您使用 Bootstrap 4 对 2019 年进行的编辑。它工作得很棒,您能告诉我如何在移动设备上查看时将此全角搜索输入作为辅助导航吗? (2认同)