Keeping a bit of vertical space between elements when they wrap?
With Bootstrap, I always like to make classes for adding top and bottom margins like so:
.top5 { margin-top:5px; }
.top7 { margin-top:7px; }
.top10 { margin-top:10px; }
.top15 { margin-top:15px; }
.top17 { margin-top:17px; }
.top30 { margin-top:30px; }
.bottom5 { margin-bottom:5px; }
.bottom7 { margin-bottom:7px; }
.bottom10 { margin-bottom:10px; }
.bottom15 { margin-bottom:15px; }
.bottom17 { margin-bottom:17px; }
.bottom30 { margin-bottom:30px; }
It's easy to remember and is a quick fix for this problem. Just add to your main.css file.
Check the example below:
Code:
.btn {
margin: 10px auto;
}
<div class='container'>
<div class='row'>
<div class="col-xs-12 col-sm-4">
<button class="btn btn-block btn-primary">Lorem ipsum dolor sit amet</button>
</div>
<div class="col-xs-12 col-sm-4">
<button class="btn btn-block btn-info">consectetur adipiscing elit</button>
</div>
<div class="col-xs-12 col-sm-4">
<button class="btn btn-block btn-success">sed do eiusmod tempor incididunt</button>
</div>
</div>
</div>
Example
Try like this: Demo
CSS:
@media (max-width: 779px) {
.btn{
margin-bottom:10px;
}
What happens here is the buttons are displayed as an inline block and by default such elements have no white space or margin to begin with. You can use below method to avoid this.
What I have done is added a class to the parent element of the buttons and inherit style to class "btn".
html
<div class='container'>
<div class='row'>
<div class='col-xs-12 button-wrapper'>
<button class='btn btn-primary'>Lorem ipsum dolor sit amet</button>
<button class='btn btn-info'>consectetur adipiscing elit</button>
<button class='btn btn-success'>sed do eiusmod tempor incididunt</button>
</div>
</div>
</div>
css
.button-wrapper .btn {
margin-bottom:5px;
}
Demo