2012-01-20 77 views
1

我的目标是将列表动态列入两列,无论列表的长度如何。如果这段代码看起来不错,或者有更好或更简洁的方法来实现这种事情,我真的很想听听那些更了解JavaScript和jQuery的人。有没有更好或更简洁的方法来做到这一点?

谢谢!

http://jsfiddle.net/mkimitch/ZEL5x/12/

+0

http://codereview.stackexchange.com/ –

+0

CSS3支持适当的立柱支撑:http://www.quirksmode.org/css/multicolumn.html –

+0

威尔jQuery能够帮助非CSS3浏览器正确显示代码?有点像使用':nth-​​child'选择器时的工作原理? –

回答

2

为什么不把它们飘浮?

li { 
    line-height: 1.2em; 
    position: relative; 
    float: left; 
    width: 50%; 
} 

No javascript needed。 除非我失去了一些东西...

+1

除非我错过了一些关于具有浮动'li'节点的'ul'标签的特殊属性,一定要在容器元素上贴上一个好的'clearfix'。 http://stackoverflow.com/a/1633170/304588 –

+0

飘来'li'节点会产生像这样的列: '1 2' '3 4' '5 6' 尽管我努力让它显示像这样: '1 4' '2 5' '3 6' –

+0

+1好点.. – ori

1

我建议不要使用JavaScript的。你可以用纯CSS来做到这一点。

如果用户禁用了JavaScript,您的代码将无法运行。

样品

ul.twocolumn { 
width: 400px; 
} 

ul.twocolumn li { 
width: 190px; 
float: left; 
} 

Updated jsFiddle

+0

是的,但你看到列是不是按字母顺序,至少是垂直的?那正是我想要实现的。如果JavaScript被禁用,它将显示为一个简单的列表,但没有任何内容会被打破。 –

相关问题