2017-08-12 71 views
0

我有问题,我不知道如何解决,这很难解释,但我会尝试,也有图片来演示。浮动项目列表

我订购清单有问题,当李项目的下一行在第二行上有很多上面的行和下面的行之间的空间时,我会没有间距。

https://jsfiddle.net/52suh3pt/

  • 我试图用浮动来解决:离开,但它的工作只针对一方。

看这张图片,左边是正确的,我想要的,右边是目前。

enter image description here

HTML:

<div> 
<ul> 
<li><img src="https://cdn.pixabay.com/photo/2016/04/15/04/02/water-1330252_960_720.jpg" alt=""></li> 
<li><img src="https://image.freepik.com/free-vector/blue-background_1344-24.jpg" alt=""></li> 
<li><img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg" alt=""></li> 
<li><img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg" alt=""></li> 
<li><img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg" alt=""></li> 
<li><img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg" alt=""></li> 
<li><img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg" alt=""></li> 
<li><img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg" alt=""></li> 
</ul> 

</div> 

CSS:

div{ 
    width:835px; 
} 
li{ 
    display:inline-block; 
    list-style:none; 
    width:262px; 
} 
img{ 
    width:100%; 
} 
+0

尝试https://masonry.desandro.com/ –

回答

2

这是比较容易实现与Masonry

砌体不需要jQuery,它可以作为一个独立的库使用。最好的部分是你可以用HTML初始化它。 minifeid库的大小约为24Kb。如果使用Gzip compression

这个步骤很简单。

  1. 负载使用

    <script src="https://unpkg.com/[email protected]/dist/masonry.pkgd.min.js></script> 
    
  2. 找到网格包装div,并用它来初始化或用砖石在我 例如图书馆。

    <div class="grid" data-masonry='{ "itemSelector": ".item"}'> 
    
  3. 添加media queries根据您 个人喜好做出响应的物品。

工作响应例如:

.grid { 
 
    width: 100%; 
 
    margin: 1em auto; 
 
    text-align: center; 
 
} 
 

 
.item img { 
 
    display: block; 
 
    width: 100%; 
 
} 
 

 
.item { 
 
    margin: 0 auto; 
 
    box-sizing: border-box; 
 
    padding: 3px; 
 
} 
 

 

 
/* Media Queries */ 
 

 
@media (min-width: 0px) { 
 
    .item { 
 
    width: 99%; 
 
    } 
 
} 
 

 
@media (min-width: 500px) { 
 
    .item { 
 
    width: 49% 
 
    } 
 
} 
 

 
@media (min-width: 1000px) { 
 
    .item { 
 
    width: 32.33%; 
 
    } 
 
} 
 

 
@media (min-width: 2160px) { 
 
    .item { 
 
    width: 24% 
 
    } 
 
}
<script src="https://unpkg.com/[email protected]/dist/masonry.pkgd.min.js"></script> 
 

 

 
<div class="grid" data-masonry='{ "itemSelector": ".item"}'> 
 

 
    <div class="item"> 
 
    <img src="https://cdn.pixabay.com/photo/2016/04/15/04/02/water-1330252_960_720.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="https://image.freepik.com/free-vector/blue-background_1344-24.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg"> 
 
    </div> 
 

 
    <div class="item"> 
 
    <img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg"> 
 
    </div> 
 

 
</div>

这可以通过使用imagesLoaded库,以确保进一步提高砌筑不触发,直到所有的照片都完全加载。这有助于防止破碎的布局。但是,我不会这么做,因为这超出了这个问题的范围。

0

这个怎么样?

div { 
 
    width: 835px; 
 
} 
 

 
.col { 
 
    width: 30%; 
 
    display: inline-block; 
 
    vertical-align: top; 
 
} 
 

 
li { 
 
    display: inline-block; 
 
    list-style: none; 
 
} 
 

 

 
img { 
 
    width: 100%; 
 
}
<div> 
 
    <div class="col"> 
 
    <li><img src="https://cdn.pixabay.com/photo/2016/04/15/04/02/water-1330252_960_720.jpg" alt=""></li> 
 
    <li><img src="https://image.freepik.com/free-vector/blue-background_1344-24.jpg" alt=""></li> 
 
    <li><img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg" alt=""> 
 
    </li> 
 
    </div> 
 
    <div class="col"> 
 
    <li><img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg" alt=""></li> 
 
    <li><img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg" alt=""></li> 
 
    <li><img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg" alt=""></li> 
 
    </div> 
 

 
    <div class="col"> 
 
    <li><img src="http://1.bp.blogspot.com/-MpDQSvxf9s0/VWXlWnzC3NI/AAAAAAAAF-c/HlZS-DDyosg/w1200-h630-p-k-no-nu/fundo-vermelho%2B%25281%2529.jpg" alt=""></li> 
 
    <li><img src="http://images.all-free-download.com/images/graphiclarge/free_swirly_blue_stars_vector_background_148475.jpg" alt=""></li> 
 
    </div> 
 

 
</div>