2013-05-13 97 views
1

我试图创建一个多列列表,但是我得到的结果并不是所需的。CSS - 按长度将长列表分成若干列

this example,我需要打破右列表到第二列时,在高度达到即400px和其余的<li>元素相同(在上面的链接,我想打破列后2 “婴儿礼物”,并把“MEN”在第二列。

我测试过这么多事情thisIs there a way to break a list into columns?this但它并没有创造我想要的列。

这里的结果,我在enter image description here之后,这里是JSFiddle

有什么建议吗?

+1

你能提供你想怎么出现的截图?还为您已完成的部分代码提供JSFiddle代码。 – Nitesh 2013-05-13 10:01:06

+0

如果你不关心旧浏览器,你可以使用列: info:http://quirksmode.org/css/columns/ – DiederikEEn 2013-05-13 10:02:58

+0

请看我的问题,我已经添加了jsfiddle和所需输出的演示。 – bikey77 2013-05-13 10:12:35

回答

1

您引用的两个问题中的解决方案都涉及列属性,因为它们应该如此。您的内容无法分割到您想要的位置,因为400px的分界线太小。

http://jsfiddle.net/HVZkG/1/

#productsitemap { 
    -webkit-columns: 3; 
    -moz-columns: 3; 
    columns: 3; 
    height: 400px; 
} 
+0

我明白你的观点。我会考虑一下,看看它。谢谢。 – bikey77 2013-05-13 13:58:25

+1

有*属性可以让您在不控制高度的情况下控制休息。例如'ul {break-inside:avoid; }'会在列表之前或之后强制中断,但不在内部。请注意,Webkit浏览器使用该属性的旧名称('-webkit-column-break-inside'),Firefox根本不支持它。还有'break-before'和'break-after'来明确强制休息。 – cimmanon 2013-05-13 14:15:37