您现在的位置: PQ秀秀网 >> 网页设计 >> WEB标准 >> 正文 用户登录 新用户注册
li标签的间距问题及书写最佳方式
作者:佚名    教程来源:不详    点击数:加载中...    更新时间:2007-12-29 字体:[ ]
添加到收藏: 添加到百度收藏  收藏到QQ书签  添加到雅虎收藏  添加到新浪ViVi  添加到天极网摘  添加到和讯网摘

新建一个简单的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> 
<ul>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li> Www_pqshow_com
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
</ul>

中国.站长站

测试一、定义css为如下代码,效果如下

pqshow.com

以下为引用的内容:
view plaincopy to clipboardprint?
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;} 
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;}
pqshow~com

发现在IE5和IE5.5下左边都产生了空白,并且在IE5下,LI之间的行距产生空白,如下图 中国.站.长站

  Www@pqshow@com

测试二、定义css为如下代码 中国站长_站,为中文网站提供动力

以下为引用的内容:
view plaincopy to clipboardprint?
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;} 
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之间的间距还是有。如下图 中.国.站.长.站

  pqshow_com

测试三、定义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之间的空白行距消失了,取得各个浏览器的效果一样,如下图 [中国站长站]

  中国站长_站,为中文网站提供动力

总结 pqshow^com

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下不会产生空白行距),不过高度还是要定义一下的。 中国.站.长站

教程录入:andy    责任编辑:andy 
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)