Reputation: 95
i want to design a navbar that have select, input and button elemnts. i wrote below code:
<nav class="navbar sticky-top navbar-light p-0">
<div class="collapse navbar-collapse search-bar show p-4" id="navbarSupportedContent">
<div class="col-md-8 mx-auto">
<form>
<div class="row">
<div class="col-md-3 pr-md-0">
<select class="form-control form-style-w3layout"
style="background: #011144; color: #fff" id="exampleFormControlSelect1">
<option>Deutsch - English</option>
<option>English- Deutsch</option>
</select>
</div>
<div class="form-row col-md-9 pl-md-0">
<div class="col-xs-10 col-md-10 pr-md-0">
<input type="text" class="form-control form-style-w3layout"
id="autocomplete" placeholder="Search Deutsch" required>
</div>
<div class="col-xs-2 col-md-2 pl-md-0">
<button class="form-control form-style-w3layout-btn"><span class="fa fa-search"></span>
</button>
</div>
</div>
</div>
</form>
</div>
</div>
below image is output:
but in mobile device i have problem. input and buttun are shown in two different rows. and there is not any margin between select and input elements.
the below image is mobile output:
Upvotes: 0
Views: 977
Reputation: 131
You can use the input group in bootstrap
<nav class="navbar sticky-top navbar-light p-0">
<div class="collapse navbar-collapse search-bar show p-4" id="navbarSupportedContent">
<div class="col-md-8 mx-auto">
<form>
<div class="row">
<div class="col-md-3 pr-md-0 mb-3 mb-md-0">
<select class="form-control form-style-w3layout" style="background: #011144; color: #fff"
id="exampleFormControlSelect1">
<option>Deutsch - English</option>
<option>English- Deutsch</option>
</select>
</div>
<div class="col-md-9 pl-md-0">
<div class="input-group mb-3">
<input type="text" class="form-control form-style-w3layout" id="autocomplete" placeholder="Search Deutsch"
required>
<div class="input-group-append">
<button class="form-control form-style-w3layout-btn">
<span class="fa fa-search"></span>
</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</nav>
Or if you want to use the grid system then you can do something like the following by adding another row element wrapping around the elements you want to have a different row.
<nav class="navbar sticky-top navbar-light p-0">
<div class="collapse navbar-collapse search-bar show p-4" id="navbarSupportedContent">
<div class="col-md-8 mx-auto">
<form>
<div class="row">
<div class="col-md-3 pr-md-0 mb-3 mb-md-0">
<select class="form-control form-style-w3layout" style="background: #011144; color: #fff"
id="exampleFormControlSelect1">
<option>Deutsch - English</option>
<option>English- Deutsch</option>
</select>
</div>
<div class="col-md-9 pl-md-0">
<div class="row">
<div class="col-10 col-md-6 pr-0">
<input type="text" class="form-control form-style-w3layout" id="autocomplete" placeholder="Search Deutsch" required>
</div>
<div class="col-2 col-md-2 pl-0">
<button class="form-control form-style-w3layout-btn"><span class="fa fa-search"></span>
</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</nav>
Upvotes: 1
Reputation: 116
Try this
<nav class="navbar sticky-top navbar-light p-0">
<div class="collapse navbar-collapse search-bar show p-4" id="navbarSupportedContent">
<div class="col-md-8 mx-auto">
<form>
<div class="row">
<div class="col-md-12 col-lg-4 p-0">
<select class="form-control form-style-w3layout"
style="background: #011144; color: #fff" id="exampleFormControlSelect1">
<option>Deutsch - English</option>
<option>English- Deutsch</option>
</select>
</div>
<div class="col-md-12 col-lg-6 p-0">
<input type="text" class="form-control form-style-w3layout" id="autocomplete" placeholder="Search Deutsch" required>
</div>
<div class="col-md-12 col-lg-2 p-0">
<button class="form-control form-style-w3layout-btn"><span class="fa fa-search"></span>
</button>
</div>
</div>
</form>
</div>
</div>
Upvotes: 0