- 首页
- 前端开发
- Bootstrap 4 - 如何在导航栏中进行 100% 宽度的搜索输入?
Bootstrap 4 - 如何在导航栏中进行 100% 宽度的搜索输入?
[英] Bootstrap 4 - how to make 100% width search input in Navbar?
本文介绍了Bootstrap 4 - 如何在导航栏中进行 100% 宽度的搜索输入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使导航栏中搜索输入的宽度为 100%?
该字段的宽度有限:
这是小提琴:
https://jsfiddle.net/Dieselnick/tdoz2o4d/
解决方案
2019 年更新
从 Bootstrap 4 开始,Navbar 是 flexbox,因此创建全角搜索输入更容易.您可以简单地使用 w-100
和 d-inline
实用程序类:
</表单>
http://www.codeply.com/go/sbfCXYgqoO
这是另一个示例,搜索输入 outside 位于折叠导航栏:
<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="搜索..."><span class="input-group-append"><button class="btn btn-outline-light border border-left-0" type="button"><i class="fa fa-search"></i>按钮></span>
</表单>
<button class="navbar-toggler order-0" type="button" data-toggle="collapse" data-target="#navbar7"><span class="navbar-toggler-icon"></span>按钮><div class="navbar-collapse collapse flex-shrink-1 flex-grow-0 order-last" id="navbar7"><ul class="navbar-nav">..
</nav>
http://www.codeply.com/go/sbfCXYgqoO
而且,最后另一个示例改变了桌面/移动设备上的搜索宽度(只有全宽在移动设备上)来自我的在这里回答
引导程序 3(原始答案)
您可以像这样在最后一个导航栏 li
上使用 text-truncate
hack..
<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">搜索</button>
</表单>
在 Bootstrap 4 中,将设置 text-truncate:
溢出:隐藏;空白:nowrap;
这使搜索表单能够填充剩余的宽度而不是换行.
演示 http://www.codeply.com/go/22naSu3c0E
另一种选择是使用table-cell
:
<div class="table-cell fill-width"><input class="form-control" name="search" placeholder="Search Here" autocomplete="off" autofocus="autofocus" type="text">
<div class="table-cell"><button class="btn btn-outline-success" type="submit">搜索</button>
</表单>
http://www.codeply.com/go/JdbPvotSXg
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>
Here is the fiddle:
https://jsfiddle.net/Dieselnick/tdoz2o4d/
解决方案
Updated 2019
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
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
Bootstrap 3 (original answer)
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>
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.
Demo http://www.codeply.com/go/22naSu3c0E
Another option is to use table-cell
:
<form>
<div class="table-cell"> </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 - 如何在导航栏中进行 100% 宽度的搜索输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文