我一直在寻找这个解决方案而无法找到它,所以我想我会发布我最终制作的内容。
我正在尝试构建一个列表,在第5个项目之后,列表将换行并移动到另一列。这样就可以根据用户需要的项目来实现超级动态。
这是我提出的解决方案。
li{
position: relative;
line-height: -6px;
}
ol li:nth-child(6) {
margin-top: -90px;
}
ol li:nth-child(-n+5){
margin-left: 0em;
}
ol li:nth-child(n+6){
margin-left: 10em;
}
<ol>
<li>Aloe</li>
<li>Bergamot</li>
<li>Calendula</li>
<li>Damiana</li>
<li>Elderflower</li>
<li>Feverfew</li>
<li>Ginger</li>
<li>Hops</li>
<li>Iris</li>
<li>Juniper</li>
</ol>
这是小提琴:http://jsfiddle.net/im_benton/tHjeJ/
您如何看待我的解决方案? 什么是在IE中可以使用的解决方案?
答案 0 :(得分:24)
尝试使用以下内容作为@tuff建议。
ol {
-moz-column-count: 2;
-moz-column-gap: 20px;
-webkit-column-count: 2;
-webkit-column-gap: 20px;
column-count: 2;
column-gap: 20px;
}
答案 1 :(得分:0)
如果你只想要两列,那就不那么难了 您可以在列表中尝试这样的事情:
ol{ width:300px;}
li{
width:50%;
float:left;
}
如果li号除以列号,它实际上会在每列中包含相同数量的列表项。
如果您希望数字与图片类似,您可以为每列使用包装div,然后使用列表中的start
属性...它将类似于{ {1}}