Jquery Css";垂直的;网格

Jquery Css";垂直的;网格,jquery,html,css,jquery-ui,grid,Jquery,Html,Css,Jquery Ui,Grid,我想创建一个可调整大小的网格,填充可拖动和可排序的图标(类似于桌面)。 问题是,使用css“float:left”,我得到了一个“水平”填充网格(从左到右,然后从上到下),我想要的是从上到下,然后从左到右(也像桌面) 当前状态: [ icon1 ][ icon2 ][ icon3 ] [ icon4 ][ icon5 ][ empty ] [ empty ][ empty ][ empty ] 所需状态: [ icon1 ][ icon4 ][ empty ] [ icon2 ][ icon5

我想创建一个可调整大小的网格,填充可拖动和可排序的图标(类似于桌面)。 问题是,使用css“float:left”,我得到了一个“水平”填充网格(从左到右,然后从上到下),我想要的是从上到下,然后从左到右(也像桌面)

当前状态:

[ icon1 ][ icon2 ][ icon3 ]
[ icon4 ][ icon5 ][ empty ]
[ empty ][ empty ][ empty ]
所需状态:

[ icon1 ][ icon4 ][ empty ]
[ icon2 ][ icon5 ][ empty ]
[ icon3 ][ empty ][ empty ]
对html标记或css规则有什么建议吗

现在我有一个js脚本,它获取容器div的高度,如果它小于图标列表的高度,它会创建另一个ul并用隐藏的图标填充它,但我认为这不是最好的解决方案

谢谢

传统提示:我使用的是jQuery和jQuery UI,该项目只针对Google Chrome,所以我不太担心浏览器的兼容性,而且,我也不担心与浏览器相关的HTML5或CSS3解决方案的问题。最后,图标被自动加载,并且cointainer可以调整大小,所以我不认为图标可以绝对定位


*对不起,对于我的英语*

这可以使用
列宽和
列间距来实现。下面是一个使用jquery创建多列列表的示例。一旦你把它放在多个栏目里,你就应该能够用它做你需要的事情。我建议对每个列应用一个类,这样您就可以调整该列的大小,而不是调整所有li的大小,并且可以将li设置为拖放部分的容器


这就是我想要的,我在上做了个例子,谢谢