Bootstrap 4-如何在Navbar中进行100%宽度的搜索输入? [英] Bootstrap 4 - how to make 100% width search input in Navbar?

查看:81
本文介绍了Bootstrap 4-如何在Navbar中进行100%宽度的搜索输入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在导航栏中将搜索输入的宽度设置为100%?

How to make 100% width of the search input in navbar?

该字段的宽度受到限制:

The field is limited in width:

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

推荐答案

已更新2019

Updated 2019

Bootstrap 4 起,导航栏为 flexbox ,因此创建全角搜索输入更加容易.您可以简单地使用w-100d-inline实用工具类:

As of Bootstrap 4 the Navbar is flexbox so creating a full-width search input is easier. You can simply use w-100 and d-inline utility classes:

<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

这是另一个示例,其中折叠的导航栏的搜索输入为 outside :

Here's another example with the search input outside of the collapsing navbar:

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

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

最后,另一个示例,该示例会改变台式机/移动设备上的搜索范围(仅完整从我的在此处回答

And, finally another example that varies the width of the search on desktop/mobile (only full width on mobile) from my answer here

引导程序3(原始答案)

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

You can use the text-truncate hack on the last navbar li like this..

<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中,将设置文本截断:

In Bootstrap 4, text-truncate will set:

   overflow: hidden;
   white-space: nowrap;

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

This enables the search form to fill the remaining width and not wrap.

演示 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

这篇关于Bootstrap 4-如何在Navbar中进行100%宽度的搜索输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆