【发布时间】:2018-09-14 23:43:42
【问题描述】:
我正在寻求创建一个砌体 UI。我在 StackOverflow 本身中尝试了许多示例和许多答案,但似乎没有任何帮助。
我的情况是这样我有一个包装器ul,它的高度为height: calc(100vh - 110px);,无法更改会有一些动态图像插入到这个ul 的li 我想要这个li 's 来排列它们里面的图像。
我尝试的第一种方法最终给了我这个:
img {
width: auto;
height: auto;
max-width: 100%;
vertical-align: middle;
border: 0;
max-width: 100%;
}
.template-row {
display: flex;
flex-flow: row wrap;
margin-left: -8px;
/* Adjustment for the gutter */
width: 100%;
height: calc(100vh - 110px);
overflow-x: hidden;
overflow-y: scroll;
padding: 0;
}
.template-row li {
flex: auto;
height: auto;
min-width: 150px;
margin: 0 8px 8px 0;
/* Some gutter */
width: 30%;
list-style: none;
}
<ul class="template-row">
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
</ul>
正如您在上面看到的,li 具有相同的高度。
我尝试的第二种方法:
img {
width: auto;
height: auto;
max-width: 100%;
vertical-align: middle;
border: 0;
max-width: 100%;
}
.template-row {
-moz-column-count: 4;
-webkit-column-count: 4;
column-count: 4;
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
column-gap: 1em;
height: calc(100vh - 110px);
overflow-x: hidden;
overflow-y: scroll;
}
.template-row li {
display: inline-block;
margin: 0 0 1em;
width: 100%;
}
<ul class="template-row">
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://i.pinimg.com/474x/21/f3/7e/21f37e120170b6363d24e2ef2d6da223.jpg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQKPMXsTBI8EHKvcJ_DZRPWENgMXgU4O2mOJRv6qYNn3FIXFc1Kzg" alt="">
</div>
</li>
<li class="card-wrap p-10">
<div class="temp-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYSCNFNmxqekF0KMq--WwuuJu9CPZgEhjjlXxW4fKIWnQcBtk_Mg" alt="">
</div>
</li>
</ul>
正如您在上面看到的,li 已正确对齐,但页面上的滚动消失了。
是否有任何仅适用于我的情况的 CSS 和 HTML 解决方案。任何帮助将不胜感激。
【问题讨论】: