<div style="height:100px">
<ul>
<li>内容1</li>
<li>内容2</li>
<li>内容3</li>
<li>内容4</li>
<li>内容5</li>
........
<li>内容100</li>
<ul>
</div>
如上如果里面的内容超过了div的高度(100px),自动换到另一列 如
内容1 内容4 内容6 ...
内容2 内容5 内容7 ...
内容3 ....
纯CSS无法实现,就算是用js也是比较麻烦的。
<div> <ul> <li>内容一</li> <li>内容二</li> <li>内容三</li> </ul> <ul> <li>内容四</li> <li>内容五</li> </ul> <ul> <li>内容六</li> </ul> <ul> <li>内容七</li> <li>内容八</li> </ul> </div>
div ul { float: left; }
主要思路就是利用js将原来的ul列表隐藏,然后提取每一个li节点,计算每一个li节点的高度,依次相加高度,一旦超过外层div的高度,就组成一个新的ul列表,这样可以得到若干个小的ul列表,每一个列表的高度都没有超过外层div的高度
li的dispaly弄成行块,就行了