CSS ul宽度大于外部宽度 ul中li自动换行,怎么让他不换行

html-css017

CSS ul宽度大于外部宽度 ul中li自动换行,怎么让他不换行,第1张

外层div设个可见区域宽度,同时益处隐藏。

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}。