在列表li里两个浮动div兼容IE6问题

在列表li里两个浮动div兼容IE6问题

问题描述:

本来一个很简单功能,却难以兼容IE6,

<ul class="ulDiv" style="width: 302px; ">

  <li onmousemove="this.style.backgroundColor='#6699FF'" onmouseout="this.style.backgroundColor='#ffffff'">

    <div  style="float: left"> name </div> <div style="float: right;"> times </div>

  </li>

  <li onmousemove="this.style.backgroundColor='#6699FF'" onmouseout="this.style.backgroundColor='#ffffff'">

    <div  style="float: left"> name </div> <div style="float: right;"> times </div>

  </li>

</ul>

 

实现很简单,就在li里用2个div或者span,一个左浮动,一个右浮动,效果是实现了,但在IE6下,每个li的底部会有4像素的空白。但在firefox和chrome下却没问题,百思不得其解,后来把右边浮动的div改为 text-align: right; 

 

下面是CSS代码:

 

<style>

.ulDiv {

    padding: 0;

    width: 302px;

    border: 1px solid #111111;

    background: #ffffff;

}

ul {

    margin: 0;

    padding: 0;

    list-style: none;

    background: #ffffff;

}

 

ul li {

    line-height:1.5em;

    margin: 0;

    padding: 0;

    width: 302px;

    background: #ffffff;

    cursor: default;

    font-size: 12px;

    height: 20px;

}

</style>

 

 

如果谁知道在li如果有两个div都是浮动,在IE6下,每个li的底部会有4像素的空白的原因,麻烦指教下小弟,谢谢。

 

 


问题补充
html[xmlns] li  这个属性用得妙啊``

CSS hack:


.ulDiv { padding: 0; width: 302px; border: 1px solid #111111; background: #ffffff; } ul { margin: 0; padding: 0; list-style: none; background: #ffffff; } li { line-height:1.5em; margin: 0; padding: 0; background: #ffffff; cursor: default; font-size: 12px; } html[xmlns] li{ height: 20px; }


  • name
    times
  • name
    times


html 代码中, li 结束标签跟下一个 li 的开始标签之间不要有任何空白

或者,设置行距干掉空白:

ul { line-height:0px; } ul { line-height:1.5em /*此处按照原来值,斟酌一下设置*/ }

...


  • xxx

  • yyy

  • zzz

    你给li设置float:left

    又是ulDiv 又是ul样式的,不要重复定义。

    [quote="lorz"]html 代码中, li 结束标签跟下一个 li 的开始标签之间不要有任何空白
    这样很是可以---只是IE6是这样。

    ie6下 bug很多呢,现在都慢慢不去支持了ie6了