【IE6的疯狂之六】li在IE中底部3像素的BUG(增加浮动解决问题)

时间:2009年03月26日作者:愚人码头查看次数:10,220 views评论次数:19

今天开发项目中碰到一个li在IE中的BUG,先来看设计原型(如图:)

两个红色中间是<li>1px的底边框;

我写的代码如下:

=============================================================

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>无标题文档</title>
<style type=”text/css”>
<!–
body,dl,dt,dd,ul,ol,li,pre,form,fieldset,input,p,blockquote,th,td,h1,h2,h3,h4,h4,h5{margin:0;padding:0}
body{font:400 12px/150% Tahoma,SimSun,Arial;color:#333;background-color:#FFFFFF}
select{font-size:12px}
ul,li{list-style:none}
img{border:none}

ul{ border-bottom:#FDD496 2px solid;border-top:#FDD496 2px solid; height:263px}
ul li{ height:43px; border-bottom:#DCDCDC 1px solid; }
.po-txt{ float:left; width:146px; height:31px; background-color:#f00; padding:12px 0 0; font-size:14px; font-weight:700; text-align:right}

–>
</style></head>

<body>

    <ul>
      <li>
      <div class=”po-txt”>通行证:</div>
      </li>
      <li>
      <div class=”po-txt”>昵称:</div>
      </li>
</ul>
</body>
</html>
 

=================================================================

在IE6,IE7下显示为(如图):貌似<li>多了个 margin-bottom:3px;

几经周折,找到了Qzone的鬼哥帮忙解决,他说在<li>上加float:left;
问题解决了,当然根据设计稿的精神还要加个width:100%;

完整的样式如下:

=====================================================

<style type=”text/css”>
<!–
body,dl,dt,dd,ul,ol,li,pre,form,fieldset,input,p,blockquote,th,td,h1,h2,h3,h4,h4,h5{margin:0;padding:0}
body{font:400 12px/150% Tahoma,SimSun,Arial;color:#333;background-color:#FFFFFF}
select{font-size:12px}
ul,li{list-style:none}
img{border:none}

ul{ border-bottom:#FDD496 2px solid;border-top:#FDD496 2px solid; height:263px}
ul li{ height:43px; border-bottom:#DCDCDC 1px solid; float:left; width:100%;}
.po-txt{ float:left; width:146px; height:31px; background-color:#f00; padding:12px 0 0; font-size:14px; font-weight:700; text-align:right}

–>
</style>

======================================================

以前我们老是研究清除浮动,想不到今天却用增加浮动来解决问题。呵呵。

 特别感谢Qzone的鬼哥!

声明: 本文采用 BY-NC-SA 协议进行授权 | WEB前端开发
转载请注明转自《【IE6的疯狂之六】li在IE中底部3像素的BUG(增加浮动解决问题)

如果你读了我的文章,觉得有帮助: 说明
标签:分类:html+css
9条评论
  1. shadow留言于:2009年08月25日10:08

    底部不是3像素。。。随li字体大小及高度变化的。

    其实别让li获得layout就能解决。或者设置li {vertical-align:middle}也解决。

    [回复]

  2. aaa留言于:2009年09月03日17:23

    shadow 是正确的

    [回复]

  3. ㄑ可乐ㄑㄑ(stri)留言于:2009年09月08日11:36

    这个不算3PX问题.

    [回复]

  4. actualist88留言于:2009年10月20日13:31

    这个问题是字体大小引起的,已测试,只在IE6和7中有这问题!

    [回复]

  5. 前端开发留言于:2010年05月03日14:58

    其实float布局能解决很多莫名其妙的bug。。常试试会发现惊喜的。

    [回复]

  6. 啄米鸟留言于:2010年07月16日15:09

    或者设置li {vertical-align:text-top}也解决。

    [回复]

  7. liuxin留言于:2010年12月14日11:57

    调试ie6就和撞大运似地,不过真的太纠结了

    [回复]

    愚人码头 回复于:

    IE6的bug解决关键在积累和经验

    [回复]

  8. 苏昊留言于:2010年12月25日17:43

    设置li {font-size:0}也可解决。

    [回复]

  9. 朱宝祥留言于:2011年10月14日14:07

    常用的方法就那么几种,多试试就有有惊喜发现的

    [回复]

发表评论

*

*