【发布时间】:2015-12-02 23:25:37
【问题描述】:
我有一个 div 容器,它有一个主图像和可选的多个较小图像:http://jsfiddle.net/h5kc8ybm/
多个较小的图像是动态生成的,因此可能只有 1 个或 10 个。在我的 JFiddle 上,您可以看到,图像仅显示在一行中。
我想要实现的是,有'by colomns'填充:
- 第一张图片位于主图片旁边(如本例所示)
- 下面的第二张图片(不是在它的右边,就像在示例中一样)
- 第一张图片右侧的第三张图片(顶部)
- 第三张图片下方的第四张图片
...等等。
是否可以仅使用 CSS 来做到这一点?
更新
为避免误解:所有较小的图像都应位于主图像的右侧。但是这些小图应该分两行显示,从第一行填到第二行。
主 div 元素永远不会改变它的高度,只会改变它的宽度。
示例
HTML
<div class="tnwrapper">
<div class="tn">
<img src="http://placehold.it/96x96" alt="" class="thumbnail">
</div>
<div class="tn">
<img src="http://placehold.it/96x96" alt="" class="thumbnail child">
</div>
<div class="tn">
<img src="http://placehold.it/96x96" alt="" class="thumbnail child">
</div>
</div>
少
.tnwrapper {
background-color: #f5f5f5;
padding: 5px 5px 5px 9px;
border-radius: 4px;
display: inline-block;
.tn {
display: inline-block;
vertical-align:top;
position: relative;
margin-right: 5px;
.thumbnail {
display: block;
padding: 4px;
margin-bottom: 20px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
}
.thumbnail.child {
width: 40px;
}
}
}
【问题讨论】:
-
看看css
columns属性,或者display:flex -
这肯定需要改变我所看到的 HTML 结构。
-
也许你可以通过
:nth-child(even)实现你想要的,并在底部设置偶数图像 -
@user3142695 看到这个example,这不是你想要的,但你可以玩
:nth-child(even)并将偶数图像设置在顶部
标签: javascript jquery html css less