我有一个"有序列表",其中包含大约100个"列表项".这个ol使我的页面很长,用户必须滚动太多.
如何让UL显示如下:
1. 6. 11.
2. 7. 12.
3. 8. 13.
4. 9. 14.
5. 10. 15.
Run Code Online (Sandbox Code Playgroud)
Enr*_*sso 28
如果你不关心垂直顺序,而只关心布局:
1. 2. 3. 4.
5. 6. 7. 8.
9. 10. 11. 12.
Run Code Online (Sandbox Code Playgroud)
你可以这样简单地设置li元素:
li {
display: block;
width: 25%;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
它应该工作.如果你需要让他们在垂直顺序,你需要在PHP脚本将它们划分为单独的div采取行动,然后把它们飘浮.
我能够通过一个小jQuery获得正确的排序:
function splitList($list, n) {
var i, k;
var colHeight = Math.ceil($list.children().length / n)
var colWidth = Math.floor(100 / n) + "%"
for (i = 0; i < n; i++) {
$list.append("<ul class='liCol'></ul>")
for (k = 0; k < colHeight; k++) {
$list.children("li").eq(0).appendTo(".liCol:last")
}
}
$(".liCol").css("width", colWidth)
$list.show() // list originally hidden to avoid displaying before ready
}
Run Code Online (Sandbox Code Playgroud)
.liCol的基本样式:
.liCol {
padding: 0px;
margin: 0px;
float: left;
}
Run Code Online (Sandbox Code Playgroud)