GreenA
GreenA

Reputation: 25

bootstrap search full width

There is this example. https://jsfiddle.net/sea2sw25/1/

But always keep the top search field, and also 767px below. It's possible? Search field full width always?

Thank you.

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">MAIN</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand hidden-xs" href="">BootStrap</a>
            <a class="navbar-brand visible-xs" href="">B</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <li>
                    <a href="about.html">Abount</a>
                </li>
                <li>
                    <a href="services.html">Services</a>
                </li>
                <li>
                    <a href="contact.html">Contact</a>
                </li>

            </ul>
            <form class="navbar-form">
            <div class="form-group" style="display:inline;">
                <div class="input-group" style="display:table;">
                    <input class="form-control" name="search" placeholder="Search" autocomplete="off" autofocus="autofocus" type="text">
                    <span class="input-group-addon" style="width:1%;"><span class="glyphicon glyphicon-search"></span></span>
                </div>
            </div>
            </form>               
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>

Upvotes: 1

Views: 1737

Answers (1)

vanburen
vanburen

Reputation: 21663

One way to do this is to place the form inside the navbar-header so it will remain exposed at all times, then use media queries to control the width of the form so it doesn't cover your links etc.

Update: Tested on Firefox41 & 42, Chrome46, Opera32, Edge13 and IE11

See example Snippet at Full Page.

.navbar-custom .navbar-search {
  position: absolute;
  margin-left: 120px;
  margin-top: 8px;
  width: 750px;
}
@media (min-width: 1200px) {
  .navbar-custom .navbar-search {
    max-width: 750px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-custom .navbar-search {
    max-width: 550px
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .navbar-custom .navbar-search {
    max-width: 350px
  }
}
@media (max-width: 767px) {
  .navbar-custom .navbar-search {
    margin-left: 50px;
    padding-right: 125px;
    max-width: 700px;
    width: 100%;
  }
  .navbar-custom .navbar-toggle {
    z-index: 1060;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-inverse navbar-fixed-top navbar-custom" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-nav"> <span class="sr-only">MAIN</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>

      </button> <a class="navbar-brand " href="">B<span class="hidden-xs">ootStrap</span></a>

      <form class="navbar-search">
        <div class="form-group">
          <div class="input-group">
            <input class="form-control" name="search" placeholder="Search" autocomplete="off" autofocus="autofocus" type="text"> <span class="input-group-btn"> <button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search"></span>

            </button>
            </span>
          </div>
        </div>
      </form>
    </div>
    <div class="collapse navbar-collapse" id="bs-nav">
      <ul class="nav navbar-nav navbar-right">
        <li> <a href="about.html">Abount</a>

        </li>
        <li> <a href="services.html">Services</a>

        </li>
        <li> <a href="contact.html">Contact</a>

        </li>
      </ul>
    </div>
  </div>
</nav>

Upvotes: 1

Related Questions