【发布时间】:2015-08-30 19:08:18
【问题描述】:
在不产生空间的情况下堆叠多个 div 的最佳方法是什么?
我正在使用不同高度和宽度的 css float 来实现当前结果:
*{margin:0;padding:0;}
#main{
background: blue;
max-width:1000px;
margin:0 auto;
overflow:hidden;
text-align:center;
}
div>div{
background: green;
width:33.33333%;
float:left;
border:1px solid grey;
padding:5px;
box-sizing:border-box;
height:100%;
}
div>div>div{
width:100%;
background:yellow;
height:100%;
}
http://codepen.io/vincentccw/pen/WvExKB
如您所见,结果并不是我真正想要达到的效果,中间的蓝色间距和水平换行符......
我想要做的是让所有的 div 自动排列它们自己并占据任何剩余的蓝色空间......
【问题讨论】:
-
称为砌体布局。看看 JavaScript 库/jQuery 插件是否存在实现布局:sitepoint.com/understanding-masonry-layout
-
确实 - masonry.desandro.com
-
@HashemQolami 谢谢,我认为这个 JavaScript 解决方案会使用,确实非常有用。