Reputation: 2803
I prepared the fiddle here: http://jsfiddle.net/7yd5o63q/16/
as you can see (after clicking "random") all the controllers are one below each other. However, when I remove the first two lines:
<div class="col-lg-6">
<form role="form">
then the form inside is inline - and this is my goal. However, I have also some other controllers there that I didn't include in the fiddle, so I don't want to remove those two lines. Is there a way of maybe reseting the layout before reaching this part of code:
<div class="panel-body">
<!-- Nav tabs -->
<ul class="nav nav-tabs">
<li><a href="#random" data-toggle="tab">Random</a>
</li>
</ul>
(...)
so that only this element will be inline and the rest will not?
Upvotes: 0
Views: 210
Reputation: 21663
Here are two options depending on how you plan on treating mobile viewports.
Also, I would recommend not changing the Bootstrap default rules outright since it will alter your entire layout globally.
.form-inline-new .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle
}
.form-inline-new .form-control {
display: inline-block;
width: auto;
vertical-align: middle
}
.form-inline-new .form-control-static {
display: inline-block
}
.form-inline-new .input-group {
display: inline-table;
vertical-align: middle
}
.form-inline-new .input-group .input-group-addon,
.form-inline-new .input-group .input-group-btn,
.form-inline-new .input-group .form-control {
width: auto
}
.form-inline-new .input-group>.form-control {
width: 100%
}
.form-inline-new .control-label {
margin-bottom: 0;
vertical-align: middle
}
.form-inline-new .radio,
.form-inline-new .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle
}
.form-inline-new .radio label,
.form-inline .checkbox label {
padding-left: 0
}
.form-inline-new .radio input[type=radio],
.form-inline-new .checkbox input[type=checkbox] {
position: relative;
margin-left: 0
}
.form-inline-new .has-feedback .form-control-feedback {
top: 0
}
<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.1/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<div class="col-lg-6">
<div class="row">
<div class="panel-body">
<!-- Nav tabs -->
<ul class="nav nav-tabs">
<li><a href="#random" data-toggle="tab">Random</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane fade" id="random">
<p>
<form id="MyForm" class="form-inline-new" role="form">
<div class="form-group">
<label>first</label>
<select class="form-control ">
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<label>every</label>
<select class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<label>for</label>
<select class="form-control">
<option>3 days</option>
<option>4 days</option>
<option>5 days</option>
<option>6 days</option>
<option>7 days</option>
<option>8 days</option>
<option>9 days</option>
<option>10 days</option>
<option>11 days</option>
<option>12 days</option>
<option>13 days</option>
<option>14 days</option>
</select>
</div>
</form>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<hr>
<div class="container">
<div class="col-lg-6">
<div class="row">
<div class="panel-body">
<!-- Nav tabs -->
<ul class="nav nav-tabs">
<li><a href="#random2" data-toggle="tab">Random Original</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane fade" id="random2">
<p>
<form id="MyForm" class="form-inline" role="form">
<div class="form-group">
<label>first</label>
<select class="form-control ">
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<label>every</label>
<select class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<label>for</label>
<select class="form-control">
<option>3 days</option>
<option>4 days</option>
<option>5 days</option>
<option>6 days</option>
<option>7 days</option>
<option>8 days</option>
<option>9 days</option>
<option>10 days</option>
<option>11 days</option>
<option>12 days</option>
<option>13 days</option>
<option>14 days</option>
</select>
</div>
</form>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
Upvotes: 2
Reputation: 7793
All you have to do is wrap each select "group" inside a 1/3 column. It should work with the .col-md-4
class but somehow it's not showing up for me so I had to add CSS manually.
See my JSFiddle
HTML
<div class="col-lg-6">
<form role="form">
<div class="panel-body">
<!-- Nav tabs -->
<ul class="nav nav-tabs">
<li><a href="#random" data-toggle="tab">Random</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane fade" id="random">
<form class="form-inline">
<div class="form-group">
<div class="col-md-4">
<label>first</label>
<select class="form-control ">
<option>8</option>
<option>9</option>
<option>10</option>
</select>
</div>
<div class="col-md-4">
<label>every</label>
<select class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
<div class="col-md-4">
<label>for</label>
<select class="form-control">
<option>3 days</option>
<option>4 days</option>
<option>5 days</option>
<option>6 days</option>
<option>7 days</option>
<option>8 days</option>
<option>9 days</option>
<option>10 days</option>
<option>11 days</option>
<option>12 days</option>
<option>13 days</option>
<option>14 days</option>
</select>
</div>
</div>
</form>
</div>
</div>
</div>
</form>
</div>
CSS
.col-md-4 {
width:33.33%;
float:left;
}
Upvotes: 1