li左浮动,接下来是重点啦!!!!
设置ul宽度,设一个大一些的值,例如5000px,或者用脚本来动态计算赋值也行。这样就能实现你想要的效果。哎,当初刚学时这都不叫事,好久没用了,现在也遇到这个问题了,墨迹了半天才发现原因......
因为li是块级元素,默认占一行的,要想实现横向排列,一般通过以下两个方法:float:left
这样设置有一个问题,li浮动以后则脱离了文本流,即不占位置,如果它的父级元素有具体的样式且没有固定宽高,建议父元素清除浮动,或者设置固定宽高
display:inline-block
即把li变为行内元素且可以设置宽高以及边距,这样也有一个问题,低版本的Ie浏览器不兼容inline-block,建议在其后再加两个属性兼容低版本ie
*display:inline
*zoom:1
让每一个的第1个元素加上 clear:both属性,我这里每一行有2个,所以是: .b li:nth-child(2n-1){clear:both},如果每一行是3列,则加上:.b li:nth-child(3n-2){clear:both}。