Reputation: 317
this is my Boostrap grid: http://i59.tinypic.com/nozn12.png
Each image has different sizes, unfortunately the heightest one wraps the row leaving an empty space. I should give the same size in each image, but I can't because this isn't a fixed layout.
Is there any fix / solution to this issue? Here's the code
<div class="row">
<div class="col-sm-6 col-md-3">
<div class="thumbnail">
<img src="temp/1.jpg" class="img-responsive">
<h4>4280 / 5PL</h4>
</div>
</div>
<div class="col-sm-6 col-md-3">
ecc.
</div>
<div class="col-sm-6 col-md-3">
ecc.
</div>
</div>
Upvotes: 0
Views: 126
Reputation: 347
use equal height for <div class="col-sm-6 col-md-3">
$.fn.eqHeights = function(options) {
var defaults = {
child: false
};
var options = $.extend(defaults, options);
var el = $(this);
if (el.length > 0 && !el.data('eqHeights')) {
$(window).bind('resize.eqHeights', function() {
el.eqHeights();
});
el.data('eqHeights', true);
}
if( options.child && options.child.length > 0 ){
var elmtns = $(options.child, this);
} else {
var elmtns = $(this).children();
}
var prevTop = 0;
var max_height = 0;
var elements = [];
elmtns.height('auto').each(function() {
var thisTop = this.offsetTop;
if (prevTop > 0 && prevTop != thisTop) {
$(elements).height(max_height);
max_height = $(this).height();
elements = [];
}
max_height = Math.max(max_height, $(this).height());
prevTop = this.offsetTop;
elements.push(this);
});
$(elements).height(max_height);
};
// run on load so it gets the size:
// can't have the same pattern for some reason or it scans the page and makes all the same height. Each row should be separate but it doesn't work that way.
$(window).load(function() {
//$('[class*="eq-"]').eqHeights();
$('.foo [class*="eq-"]').eqHeights();
$('.foo2 [class*="eq-"]').eqHeights();
});
use <div class="row foo">
for <div class="row">
and add eq-col-sm-6 eq-col-md-3 class to all your divs with col-sm-6 col-md-3
here DEMO
Upvotes: 1