div+css的边距再IE6 7中的显示问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 10:51:32
最近遇见奇怪的问题了 很突然的
li的边距问题
这个是li的css:
height:25px; line-height:25px; color:#CC0000; width:700px; margin-left:30px;
左边距是30px再IE7 8 FF里都显示正常,但是ie6里面直接就宽了一倍。只有再低于5px的时候才会一致。
去除浮动的的加上了
这个是ul的css:
background:url(../img/arrow_02.gif) #E3F9E4 no-repeat scroll 10px center; height:25px; border-bottom:#ccc dotted 1px; margin:0; padding:0; overflow:hidden; clear:left;

谁能说个原因,我想知道最根本的原因,不用说用!important这个方法。
解决方法倒是有很多 margin换成padding就可以。
问题是我现在不是要找解决方法,而是原因
突然出现的问题,前面的页面我也是用margin都没有这个问题
而且是在一个css文件里面写着的。
很迷茫- -

是边距的计算方法计算不同吧...
加个display:inline应该就可以了..

IE6本来就是一个有很多BUG的浏览器,它几乎和所有浏览器都不同.

根据我的经验,IE6下UL和LI都和其他版本不一样,我曾经做过实验给li和ul加上颜色,看看li默认的边距到底是li的边距,还是ul的填充.不过记忆已经很模糊了.好象是ul也有默认边距(或填充).具体不太记得了.

你只用用*html这个方法.

ul和li在ie6和ie7中本来就是不一样的,并没有其他原因影响。你可以做个很简单的试验一样,就发现这是两个浏览器对li本身的解析问题。ie6中li比ie7中多出n个像素。

可以将li换成div的。或者用!important解决兼容问题。

呵呵,希望可以帮到你。。。

加上一句,display:inline; 应该就可以解决了!