菜单一
  • 菜单一
  • 菜单一
  • ...">
    论坛交流
    首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
    应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
    编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
    当前位置 > 文字教程 > div+css布局教程
    Tag:css,入门,技巧,div,实例,示例,菜单,布局,web2.0,ul,li,经验,列表,web标准,xhtml,web标准,浏览器,兼容,css hack,表格,视频教程

    {WEB标准}li标签的间距问题及书写最佳方式

    文章类别:div+css布局 | 发表日期:2008-9-26 11:54:01

    新建一个简单的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>


    <li><a href="#">菜单一</a></li>
    <li><a href="#">菜单一</a></li>
    <li><a href="#">菜单一</a></li>
    <li><a href="#">菜单一</a></li>
    </ul>

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

    以下为引用的内容:
    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;}

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

    测试二、定义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之间的间距还是有。如下图

    测试三、定义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下不会产生空白行距),不过高度还是要定义一下的。

    视频教程列表
    文章教程搜索
     
    div+css推荐教程
    div+css热门教程
    看全部视频教程
    购买方式/价格
    购买视频教程: 咨询客服
    tel:15972130058