列表划分为多个列 [英] List divide into multiple columns

查看:157
本文介绍了列表划分为多个列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将列表划分为多列,每列应该有最多5个数据列表,如下图所示。请指导我如何实现这一目标?



解决方案

CSS3列应该是最佳选择,但遗憾的是还没有广泛的支持。您可以使用简单的2d变换(也可以在 IE9 )上获得相同的结果



请参阅 http://jsfiddle.net/79rtx/1/



基本上所有列表项都是浮动的,无序列表被旋转-90deg。



<$>



<$>

p $ p> div {
border:1px green solid;
/ *在div上使用easyclearing(或这种解决方法)* /
overflow:auto;
height:auto;
}

/ * clear * /
ul + * {clear:both; }

ul {
float:left;}
height:160px; / *(30 + 2px)* 5 * /

-webkit-transform:rotate(-90deg);
-moz-transform:rotate(-90deg);
-ms-transform:rotate(-90deg);
-o-transform:rotate(-90deg);
transform:rotate(-90deg);
}

li:nth-​​child(5n + 1){clear:right; }

li {
width:30px;
height:30px;
float:right;
margin:1px;
background:#ccc;

-webkit-transform-origin:50%50%;
-moz-transform-origin:50%50%;
-ms-transform-origin:50%50%;
-o-transform-origin:50%50%;
transform-origin:50%50%;

-webkit-transform:rotate(90deg);
-moz-transform:rotate(90deg);
-ms-transform:rotate(90deg);
-o-transform:rotate(90deg);
transform:rotate(90deg);
}


I want to divide the list into multiple column and each column should have maximum number of 5 data list same as shown in below image. Please guide how can I achieve this?

解决方案

CSS3 columns should be the optimal choice, but unfortunately has not a wide support yet. You can achieve the same result with simple 2d-transforms (available also on IE9)

See http://jsfiddle.net/79rtx/1/

Basically all list-items are floated, the unordered list is rotated by -90deg. and list-items rotated by 90deg.


Relevant css

div { 
    border   : 1px green solid; 
    /* use easyclearing on div (or this workaround) */
    overflow : auto; 
    height   : auto;
}

/* clear */
ul + * { clear: both; }

ul {
   float : left;
   height : 160px; /* (30 + 2px) * 5 */ 

   -webkit-transform : rotate(-90deg);
   -moz-transform : rotate(-90deg);
   -ms-transform : rotate(-90deg);
   -o-transform : rotate(-90deg);
   transform : rotate(-90deg);
}

li:nth-child(5n+1) { clear: right; }

li {
   width      : 30px;
   height     : 30px;  
   float      : right;
   margin     : 1px;
   background : #ccc;

   -webkit-transform-origin : 50% 50%;
   -moz-transform-origin : 50% 50%;
   -ms-transform-origin : 50% 50%;
   -o-transform-origin : 50% 50%;
   transform-origin : 50% 50%;

   -webkit-transform : rotate(90deg);
   -moz-transform : rotate(90deg);
   -ms-transform : rotate(90deg);
   -o-transform : rotate(90deg);
   transform : rotate(90deg);
}

这篇关于列表划分为多个列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆