Html Bootstrap 3 搜索栏

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19283129/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 14:17:30  来源:igfitidea点击:

Bootstrap 3 search bar

htmlcsstwitter-bootstrapnavbarcollapse

提问by Jaap Wijnen

Hi I'm trying to include a search bar in a standard bootstrap 3 template. I'm trying to implement it in such a way that when the menu collapses at a smaller resolution the search bar stays in the navigation bar and the rest of the menu buttons collapse. I got it working perfectly on desktop resolution but when I switch to the mobile resolution the search bar shows up underneath my title and nav button. This is the HTML I'm using at the moment.

嗨,我正在尝试在标准引导程序 3 模板中包含一个搜索栏。我试图以这样一种方式实现它,当菜单以较小的分辨率折叠时,搜索栏保留在导航栏中,其余菜单按钮折叠。我让它在桌面分辨率上完美运行,但是当我切换到移动分辨率时,搜索栏会显示在我的标题和导航按钮下方。这是我目前使用的 HTML。

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">My Project</a>
    </div>
    <div class="col-sm-3 col-md-3 navbar-right">
      <form class="navbar-form" role="search">
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
          <div class="input-group-btn">
            <button class="btn btn-default" type="submit"><span class="glyphicon glyphicon-search"></span></button>
          </div>
        </div>
      </form>
    </div>
    <div class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">Browse Courses</a></li>
        <li><a href="#contact">Active Courses</a></li>
        <li><a href="#contact">Shopping Cart</a></li>
        <li><a href="#contact">Recently Viewed</a></li>
      </ul>
    </div><!--/.navbar-collapse -->
  </div>
</div>

How can I make sure the searchbar doesn't disappear or show up as a second row when the menu collapses? Many thanks

当菜单折叠时,如何确保搜索栏不会消失或显示为第二行?非常感谢

回答by koala_dev

Add the form container into the .navbar-header, add a col-xsclass to set its size and use .pull-rightinstead of .navbar-rightto make it always align to the right:

将表单容器添加到 中.navbar-header,添加一个col-xs类来设置其大小并使用.pull-right而不是.navbar-right使其始终向右对齐:

Code -

代码 -

.navbar .navbar-form{
    padding: 0 15px;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>


<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">My Project</a>
      <div class="col-xs-5 col-sm-3 pull-right">
        <form class="navbar-form" role="search">
          <div class="input-group">
            <input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
            <div class="input-group-btn">
              <button class="btn btn-default" type="submit"><span class="glyphicon glyphicon-search"></span></button>
            </div>
          </div>
        </form>
      </div>
    </div>
    <div class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">Browse Courses</a></li>
        <li><a href="#contact">Active Courses</a></li>
        <li><a href="#contact">Shopping Cart</a></li>
        <li><a href="#contact">Recently Viewed</a></li>
      </ul>
    </div><!--/.navbar-collapse -->
  </div>
</div>