元素在IE6/7下换行的问题

这是一个奇怪的问题。最后一个li元素在IE6、IE7下换行了,其他的浏览器都是没有问题的。下面是此问题的截图及代码:

主要css代码及demo

.wrap{width:960px; margin:0 auto;}
.wrap ul{background-color:#FF0000; padding-left:200px; color:#FFFFFF;}
.wrap ul li{float:left; padding:6px 30px;}

开始以为是因为“溢出”产生的换行,就用firebug查看并计算了一下盒模型:

最外层的.wrap 实际宽度是960px
ul的内容宽度是760px(960-200)
6个li的实际宽度是6*(30+30+48)=648px
很明显,所有li的实际宽度和远小于ul的实际宽度,因此并没有产生盒模型溢出,但问题却在IE6、IE7中出现了,实在令人费解

解决办法是给li一个大于等于48px的宽度,或给li加white-space:nowrap;强制其不换行,一般情况下会选择后者,因为一般情况下我们需要 li的宽度自适应

.wrap ul li{float:left; padding:6px 30px;*white-space:nowrap;}


--来自百度空间http://hi.baidu.com/rgmusg/blog/item/e91158ce9a4f9f34b700c8c1.html
posted @ 2011-08-11 12:58  拉登不开心  阅读(259)  评论(0编辑  收藏  举报