2016-03-26 13 views
2

Farklı boyutlardaki DIV'lerim arasındaki dikey boşluğu kaldırmak için biri bana doğru yönde işaret edebilir mi? Hepsi aynı yükseklikte olduklarında işe yaramazlar, ama hepsi de boyları değişecek ve ben de havalı görünmelerini istiyorum.Yüzen DIV'ler arasındaki dikey boşluğu kaldır

DIV gaps

I (3 sütun gibi) birbirlerine altında yuva kadar hepsini istiyorum.

HTML:

<div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi. Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi. Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 

CSS:

.productDivs { 
    max-width: 290px; 
    min-height: 50px; 
    margin-bottom: 25px; 
    margin-right: 18px; 
    padding: 5px; 
    border: 1px solid #e0e1dd; 
    float: left; 
    display: block; 
} 

İşte ben bugüne kadar ne bir fiddle bu.

Lütfen nazik ol, hala CSS :)

+0

olduğunu tarayıcılar, bir "flexbox" düzenine bakın. – DBS

+0

Yapacak, teşekkürler! – Kungfauxn00b

+0

Sütuna baktınız mı? –

cevap

1

Duvar ve imagesLoaded kütüphane ilk imagesLoaded kütüphane ve ardından duvarcılık çağrılması

http://masonry.desandro.com/

http://imagesloaded.desandro.com/

kombine gösterge iyi olmalıdır.İşte

**HTML** 
<div class="productDivsWrapper"> 
    <div id="" class="productDivs"> 
     <img src="http://placehold.it/290x162"> 
     <h2>This is the DIV title</h2> 
     <p>Fusce egestas elit eget lorem. Phasellus ullamcorper ipsum rutrum nunc. Praesent ac massa at ligula laoreet iaculis. Vivamus elementum semper nisi.</p> 
    </div> 
    ... 
</div> 

**JS** 
$('.productDivsWrapper').imagesLoaded(function() { 
    $(".productDivsWrapper").masonry(
     { 
      itemSelector:'.productDivs', 
     } 
    ); 
}); 

bir jsfiddle: Eğer az yararlı karşılamak zorunda değilseniz https://jsfiddle.net/1hc31mth/1/

+0

Güzel, güzel, hoş, güzel, GÜZEL! Tam olarak aradığım şey! Çok teşekkürler :) – Kungfauxn00b

+0

Önerdiğiniz düzeltmeyi kullanarak biraz sorun. Sayfayı yüklediğimde. DIV'ler düzgün bir şekilde istiflenmiyor - biraz üst üste geliyorlar. Tarayıcıyı en az 1px yeniden boyutlandırdığım anda, kendilerini yeniden sıralıyorlar. İşte ne demek istediğimi anlatan hızlı bir video: – Kungfauxn00b

+0

https://youtu.be/HeOkAgBvfHw – Kungfauxn00b

0

Bu kolay bir cevap gitmiyor öğreniyorum. Kayan nokta: sol, üstündeki satırın sağ tarafındaki en yüksek kutunun alt kenarının altına sarılmasına neden olur. Yani bu dikey oluklarla sonuçlanırsınız. http://www.eonline.com'da çalıştığımda, ana sayfada aynı sorun vardı.

Arkadaşım Lou, bu site için Sıvı Sabitleme motorunu çağırdı. Takıldığı zaman onu tamir etmede yardımcı oldum. Bu betikte, div'leri nasıl yukarı taşıyacağınıza ilişkin bazı yanıtlar için kazmak isteyebilirsiniz: http://www.eonline.com/resources/js/liquid_pinning/liquid_pinning.js

Sabit piksel yükseklikleri kullanarak tamamen konumlandırıldıklarına inanıyorum. Her bir sütunun toplam yüksekliğini & sütunları gereken şekilde ayarlayan diziler vardır. Komut, &'un nereye yerleştirileceğini, dikey boşluk alanına yerleştirdiğini bulur, böylece dikey boşluklar oluşturulmaz.

http://www.pinterest.com web sitesinden modellediğimiz oldukça güzel bir eserdi. Görünüşe göre, div'ler aynı etkiyi gerçekleştirmeye çalışıyor.

Not: Bu komut, bir kullanıcı bu ana sayfada özünürlüklerini ayarladıklarında, 3 sütun genişliğinde 4 sütun genişliğinde 5 sütun genişliğinde görünüm & oluşmasını sağlamak için oluşturuldu. Ayrıca, gerektiğinde üst kısımdaki & sol üst köşeye sabit widget'ları sabitler. Bu efekti görmek için & modelini yakınlaştırmayı deneyin. Ben kullanmayı öneriyoruz

+0

Ahh, bu yüzden sadece basit bir satır düzeltme değil eh !? ;) Bana geri dönme zaman ayırdığınız için teşekkürler! – Kungfauxn00b

+0

Hahaha ... bu hoş olmaz mıydı ?! :) Bunu yapmak için JavaScript'e ihtiyacınız olacağını düşünüyorum. – Clomp

İlgili konular