1

是否可以给列表(<ul>)一个特定的高度或类似的高度,如果项目太多,它只是将项目(<li>)移动到一个新列中?

我在这里说明了它:

http://oi47.tinypic.com/2dqj5gg.jpg

红色框有一个特定的高度。当项目多于可用空间时,它应该简单地将它们移到下一行,就像在我的示例中使用“List7,List8,List9”一样

4

3 回答 3

1

像这样使用 CSS column-count :

ul {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
}​

虽然它没有得到普遍支持,但受到挑战的浏览器会忽略它。对于他们来说,你必须做一些非语义的事情,比如手动将其拆分为多个 UL 并将它们浮动或同样可怕的事情。

于 2012-08-23T09:49:28.567 回答
1

是的,您可以使用column-count

ul {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    height: 60px;
    width: 300px;
}

尽管并非所有浏览器都支持此功能。您可以使用 javascript 插件来填充,或者只使用渐进增强(毕竟这是一个列表)。

http://jsfiddle.net/ASDkz/

于 2012-08-23T09:50:31.943 回答
0

一种快速的方法是使用float您的li标签,如下所示:

ul
{
    height: 100px;
    border: 1px solid #f00;
}

li
{
    float: left;
    border: 1px solid #0f0;
    width: 50px;
}

但这将为您提供以下结构:

List1    List2    List3
List4    List5

如果您特别需要您提供的图像中的结构,那么您可能需要使用 jQuery 查看一些动态渲染以获得完整的浏览器支持。

示例 jsFiddle

于 2012-08-23T09:49:29.993 回答