源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 588|回复: 18

[CSS/HTML] 多浏览器下IE6 IE7 firefox li 间距问题第1/2页

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-11-16 20:49:42 | 显示全部楼层 |阅读模式
今天小雷提到一个ie5下li产生空白行距的问题,下面来测试一下。 
新建一个简单的HTML测试文件,下面来测试ul li标签。
复制代码 代码如下:
<ul>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
</ul> 

测试一,定义css为如下代码,效果如下:
body{font-size:12px;margin:0} 
ul{list-style:none;margin:0;padding:0;width:120px;} 
ul li{background:green;height:20px;} 
ul li a{color:#fff;padding:0 0 0 10px;}
发现在IE5和IE5.5下左边都产生了空白,并且在IE5下,LI之间的行距产生空白,如下图 
 

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

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

总结 
1.解决li在IE5下产生空白行距的方法:如果li定义了宽度,那么需要在li里面再定义vertical-align: bottom。
2.宽度最好不要定义在UL,定义在LI或者UL外层的DIV里面。
3.书写LI的最佳方式,li里面要书写高度和宽度,以及vertical-align: bottom;(for ie5/win bug),或者在ul外面加上一层div,并定义宽度,那么在li里面不用定义宽度和vertical-align: bottom;,也显示正常(IE5下不会产生空白行距),不过高度还是要定义一下的。 
今天小雷提到一个ie5下li产生空白行距的问题,下面来测试一下。 
新建一个简单的HTML测试文件,下面来测试ul li标签。
复制代码 代码如下:
<ul>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
<li><a href="#">菜单一</a></li>  
</ul> 

测试一,定义css为如下代码,效果如下:
body{font-size:12px;margin:0} 
ul{list-style:none;margin:0;padding:0;width:120px;} 
ul li{background:green;height:20px;} 
ul li a{color:#fff;padding:0 0 0 10px;}
发现在IE5和IE5.5下左边都产生了空白,并且在IE5下,LI之间的行距产生空白,如下图 

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

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

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

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-10 15:39:03 | 显示全部楼层
1312315458748777
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-27 14:34:23 | 显示全部楼层
笑纳了老板
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

100

积分

注册会员

Rank: 2

积分
100
发表于 2022-9-10 21:56:51 | 显示全部楼层
还不错啊
回复 支持 反对

使用道具 举报

2

主题

1万

回帖

380

积分

中级会员

Rank: 3Rank: 3

积分
380
发表于 2022-9-19 12:57:37 | 显示全部楼层
554411515451555
回复 支持 反对

使用道具 举报

6

主题

1万

回帖

425

积分

中级会员

Rank: 3Rank: 3

积分
425
发表于 2023-1-15 21:39:03 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2023-9-17 13:46:18 | 显示全部楼层
管灌灌灌灌灌灌灌灌灌灌
回复 支持 反对

使用道具 举报

2

主题

1万

回帖

146

积分

注册会员

Rank: 2

积分
146
发表于 2023-10-16 00:42:39 | 显示全部楼层
的沙发水电费水电费
回复 支持 反对

使用道具 举报

9

主题

1万

回帖

420

积分

中级会员

Rank: 3Rank: 3

积分
420
发表于 2023-12-9 11:12:25 | 显示全部楼层
2222222222222222
回复 支持 反对

使用道具 举报

2

主题

1万

回帖

381

积分

中级会员

Rank: 3Rank: 3

积分
381
发表于 2024-3-22 20:22:27 | 显示全部楼层
灌灌灌灌水
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-9-21 03:17 , Processed in 0.113274 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表