多浏览器下IE6 IE7 firefox li 间距问题第2/2页


测试二,定义css为如下代码:
复制代码 代码如下:
body{font-size:12px;margin:0}
ul{list-style:none;margin:0;padding:0;}
ulli{background:green;height:20px;width:120px;}
ullia{color:#fff;padding:00010px;}

和测试一相比,只是将width:120px;从ul的定义放置到li的定义,解决了IE5和IE5.5左边产生空白的问题,而IE5的li之间的间距还是有,如下图:

多浏览器下IE6 IE7 firefox li 间距问题第2/2页



测试三,定义css为如下代码,(最佳写法)
复制代码 代码如下:
body{font-size:12px;margin:0}
ul{list-style:none;margin:0;padding:0;}
ulli{background:green;height:20px;width:120px;vertical-align:bottom;}
ullia{color:#fff;padding:00010px;}

和测试二比较,在li的定义中加上vertical-align:bottom;ie5下正常,li之间的空白行距消失了,取得各个浏览器的效果一样,如下图:

多浏览器下IE6 IE7 firefox li 间距问题第2/2页



总结
1.解决li在IE5下产生空白行距的方法:如果li定义了宽度,那么需要在li里面再定义vertical-align:bottom 。
2.宽度最好不要定义在UL,定义在LI或者UL外层的DIV里面 。
3.书写LI的最佳方式,li里面要书写高度和宽度,以及vertical-align:bottom;(forie5/winbug),或者在ul外面加上一层div,并定义宽度,那么在li里面不用定义宽度和vertical-align:bottom;,也显示正常(IE5下不会产生空白行距),不过高度还是要定义一下的 。
上一页12阅读全文

    推荐阅读