2013-10-31 73 views
5

Twitter bootstrap v2.3'ün CSS kitaplığında sahip olduğu medya küçük resimlerini kullanıyorum. Burada görebilirsiniz üzerinde çalıştığım şeyi: http://beanstalkwebsolutions.com/portfolio-overview İştejQuery boşlukları dinamik olarak yeniden boyutlandırmak için

jQuery kullanıyorum edilir: Her bir küçük farklı yüksekliklere vardı ve onları istediğim yana

Temelde
<script> 
$(window).load(function() { 
    var maxHeight = 0; 
    var divs = jQuery(".thumbnail"); 
    jQuery.each(divs, function() { 
     var height = jQuery(this).height(); 
     if (maxHeight < height) maxHeight = height; 

    }); 
    divs.css('min-height', maxHeight + 'px'); 
}); 
$(window).resize(function() { 
    var maxHeight = 0; 
    var divs = jQuery(".thumbnail"); 
    jQuery.each(divs, function() { 
     var height = jQuery(this).height(); 
     if (maxHeight < height) maxHeight = height; 

    }); 
    divs.css('min-height', maxHeight + 'px'); 
}); 
</script> 

amacım herkesin eşit olması edildi yükseklikleri, bu betik yük altında CSS'de aynı min yüksekliğini verir ve ekran her küçük resmin en yüksek yüksekliğine bağlı olarak yeniden boyutlandırılır.

Çalışmak için elimden geleni yapıyorum, ancak şimdi anlayamadığım sorun ekranı daha küçük/daha büyük boyutlara sürüklediğinizde ve min-yüksekliğinin çok büyük olduğu zaman, min. yükseklik böylece minik resimlerde çok büyük görünüyorlar. Kimsenin benim için herhangi bir kod önerisi var mı? Böylece div'lerin hepsi eşit yüksekliğe sahip olacak, ama asla fazla büyük olmayacak mı?

Ve min-height yerine yükseklik css özelliğini ayarlarsanız metin paragrafları div dışında uzanan sona çünkü çözüm benim orijinal hedef için çalışmaz.

pencerede
+0

bu çizgiye ilişkili "divs.css ('min-height', maxHeight + 'px');". maxHeight, yeniden boyutlandırdığınız her zamankinden daha fazla artar. Belki de görüntülerin yüksekliğini ne zaman azaltacağını belirlemek için pencere boyutunu bilmeniz gerekir. Tarayıcı boyutunu büyüttüğünüzde biraz daha net olmak gerekirse, görüntüleri küçülttüğünüzde görüntü boyutu artar, görüntüleri yeniden boyutlandırmak için hiçbir şey olmuyor. –

+0

Tüm tarayıcılar neleri desteklemeli? CSS 'flexbox'ı kullanmaya ne dersiniz? http://coding.smashingmagazine.com/2011/09/19/css3-flexible-box-layout-explained/ –

+0

Thomas Harris, evet açıklamanız doğru. Pencere boyutu yöntemini kullanırsam, bana gösterebileceğiniz bir kod örneğiniz var mı? – Genetisis

cevap

10

böyle, yeniden div min-yüksekliğini ayarlayabilirsiniz boyutlandırmak: -

$(window).resize(function() { 
    if($(window).height() < 300){ 
    $("div").css({min-height: 300px}); 
} else { 
    $("div").css({min-height: 600px}); 
} 
}); 
+3

Teşekkürler! İşe yaradı. Ben destek olurdu ama bunu yapmak için 15 itibara ihtiyacım var. – Genetisis

İlgili konular